Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


74 / 500 ページ ←次へ | 前へ→

【11826】Re:複数のcsvファイルとテーブルのリンク...
回答    - 10/10/29(金) 16:11 -

引用なし
パスワード
   雅です。

とりあえずファイルの列挙はDir関数で可能です。

Dim FileName As String

FileName = Dir("C:\Users\Public0701\"*")

Do Until Len(FileName) = 0
  〜 省略 〜

  FileName = Dir
Loop
・ツリー全体表示

【11825】複数のcsvファイルとテーブルのリンクを...
質問  きりん  - 10/10/28(木) 18:36 -

引用なし
パスワード
   きりんと申します。
作業を効率化したいので、VBA初心者ですが教えて頂けると助かります。

<現状の作業> ※ファイル名はすべて仮です。

1. 20100701.mdbファイルをopenし、データベースのウィンドウの白地場所で
「テーブルのリンク」を選択し、下記のファイルを選択し、「リンク」をクリックする。
C:\Users\Public0701\203456.csv

2.「区切り記号付き」が選択されていることを確認し、「次へ」をクリックする。

3.「先頭行をフィールド名として使う」を選択し、「設定」においてフィールド51が「テキスト型」になっていることを確認し、「OK」を選択し「完了」とする。

1のcsvファイルがPublicフォルダに複数存在しており、1-3の作業を繰り返し
行う必要があります。
C:\Users\Public0701\203456.csv
C:\Users\Public0701\203457.csv
       :
       :(ざっと30ファイルほどあります。)

Public0701フォルダには、csvファイルしか存在しておらず、
すべてのcsvに対して、同作業を繰り返す必要があります。
実はPublic0701〜Public0731フォルダまであるので
同じ作業を繰り返ししております。

効率化を図るVBAなどありましたら教えていただければ助かります。
よろしくお願いいたします。
・ツリー全体表示

【11824】Re:フォームでの表示
回答    - 10/10/28(木) 15:18 -

引用なし
パスワード
   雅です。

>特定のフォームのチェックボックスにチェックを入れると、フォームに一定の文字が表示されるよな方法がありますでしょうか?
>(もちろん、チェックが入っていないリストの場合は非表示にしたいのですが)
>条件付書式でもいいのですが・・・
>基本的にはフォームに入力されていて、チェックボックスにチェックを入れるとフォントの色が変わるなど・・・
>質問自体も、あやふやですが良い知恵をお願いします。

その特定のフォームのチェックボックスのクリック時とか更新後処理とか
好きなイベントに表示したいフォームの内容を書き換えるコードを書いて
ください。
・ツリー全体表示

【11823】Re:VBAではないのですが
回答    - 10/10/28(木) 15:16 -

引用なし
パスワード
   雅です。

>VBAではないかもしれませんがどちらに聞けばいいのかわからないので・・・
>アクセスのテーブルに12万件のデータがありエクセルにエクスポートしたいのですが、方法はありますか。

2007以降であれば
DoCmd.TransferSpreadsheet
で可能だと思います。
2007より前なら不可能です。
・ツリー全体表示

【11822】VBAではないのですが
質問  ササ  - 10/10/27(水) 16:37 -

引用なし
パスワード
   VBAではないかもしれませんがどちらに聞けばいいのかわからないので・・・
アクセスのテーブルに12万件のデータがありエクセルにエクスポートしたいのですが、方法はありますか。
・ツリー全体表示

【11821】Re:中国語(簡体字)が文字化け
回答  YU-TANG  - 10/10/25(月) 23:48 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼さき さん:
> 1については、テキストボックスのフォント設定をどのようにすればいいのか、

何が分かりませんか?
テキストボックスのフォントを設定するためのプロパティが
どこにあるのか分からないのでしょうか?
プロパティシートの [書式] タブの [フォント名] という欄
です。ツールバーからでも変更できたと思いますが。
フォントに何を指定できるのかは、そちらの環境依存なので
分かりません。SimSun とか MingLiU とか、その辺だろう
とは思いますが、自分は使ったことが無いので詳しくは
知りません。ふつうに Unicode フォントなら (デザイン性は
ともかく) 表示はできると思いますが。

▼さき さん:
> 2については、UTF-16へのUnicode変換の方法が解りません。

変換元の文字コードは何ですか?
「変換元の文字コード UTF-16 変換」あたりのキーワードで
検索すれば、変換方法が多数ヒットすると思います。

ただ、ここまでのご投稿を読む限りでは文字コードを意識
して処理を行っている感触があまり伝わってこないので、
ソース取得時点ですでに文字列を破壊したりしていないか
やや気がかりです。

それでは。
・ツリー全体表示

【11820】フォームでの表示
質問  自力初心者  - 10/10/25(月) 10:58 -

引用なし
パスワード
   特定のフォームのチェックボックスにチェックを入れると、フォームに一定の文字が表示されるよな方法がありますでしょうか?
(もちろん、チェックが入っていないリストの場合は非表示にしたいのですが)
条件付書式でもいいのですが・・・
基本的にはフォームに入力されていて、チェックボックスにチェックを入れるとフォントの色が変わるなど・・・
質問自体も、あやふやですが良い知恵をお願いします。
・ツリー全体表示

【11819】Re:中国語(簡体字)が文字化け
質問  さき  - 10/10/25(月) 10:39 -

引用なし
パスワード
   YU-TANG さん、ご返信、ありがとうございました。
また、返信が遅くなってしまいまして、大変申し訳ありません。

>Access のフォームは Unicode ウィンドウなので、フォームの
>テキストボックスに適切な(簡体字を表現できる)フォントを
>設定して、テーブルの内容を表示させてみましょう。
>変数の中身が Unicode (UTF-16) であれば、化けずに表示できる
>はずです。

大変お恥ずかしいのですが、上記のアドバイスに対して、
解らない点が2点あります。

1.テキストボックスに適切な(簡体字を表現できる)フォントを設定
2.変数の中身が Unicode (UTF-16) であれば、化けずに表示できる

1については、テキストボックスのフォント設定をどのようにすればいいのか、
2については、UTF-16へのUnicode変換の方法が解りません。


strConv関数で、LCIDなどを設定すればいい?等と、色々と試行錯誤していますが
解決できていません。もしよろしければ、ご助言頂けないでしょうか。
よろしくお願い致します。
・ツリー全体表示

【11818】Re:VBAをクエリで使う方法
お礼  かな  - 10/10/19(火) 14:07 -

引用なし
パスワード
   ▼mayu さん:

解答ありがとうございました
まだまだアクセスが勉強不足の為、
解読中です

また、どうしてもわからないところがあったら質問してもいいでしょうか?

これを参考に、勉強してみます
ありがとうございました


>こんばんは。
>
>亀レスですけど
>SQLで総計計算をおこなう方法をご紹介しますね。
>
>ただ、データが10万件ということなので
>複雑なクエリになると遅くて実用に耐えない可能性が高いため、
>簡単なUPDATE文の発行で済むように 設計で工夫します。
>
>まずは更新対象のテーブルを
>
>CREATE TABLE tbl (
>   grp_num INT
>  , sub_num INT
>  , 品番  VARCHAR( 10 )
>  , 数   INT
>  , concat VARCHAR( 255 )
>  , total  INT
>  , CONSTRAINT pk_tbl PRIMARY KEY ( grp_num, sub_num )
>) ;
>
>↑のようなフィールド構成にします。
>
>
>■データ例
>
> grp_num sub_num 品番 数 concat total
>-------------------------------------------
>   1   1   A  2  Null  Null
>   1   2   B  2  Null  Null
>   1   3   C  3  Null  Null
>   2   1   D  1  Null  Null
>   2   2   E  2  Null  Null
>   2   3   F  2  Null  Null
>   3   1   A  3  Null  Null
>   3   2   B  3  Null  Null
>   3   3   W  3  Null  Null
>
>ポイントとしては、3つ。
>
>★1つ目
> 同じ品番が繰り返し出てくるようなので
> グループキーを作ること。
> ( 上記例では grp_num が該当 )
>
>★2つ目
> 同グループの中で抜けの無い連番を振ること。
> いわゆる枝番ですね。
> ( 上記例では sub_num が該当 )
>
>★3つ目
> 品番を | で結合した キー項目
> 及び
> 数を掛け合わせる 総計
> のフィールドは初期値を Null にしておきます。
> ( 上記例では concat と total が該当 )
>
># YU-TANGさん、雅さん、247bさんと
># 発言がカブッてる点はご容赦下さいね。(^_^A;;
>
>
>■SQL
>-------------------------------------------------------------------------------
>
>UPDATE tbl T1
>LEFT JOIN tbl T2
>    ON T1.grp_num = T2.grp_num And
>      T1.sub_num = T2.sub_num + 1
>SET T1.total = IIf( T2.grp_num Is Null, T1.数, T2.total * T1.数 )
> , T1.concat = IIf( T2.grp_num Is Null, T1.品番, T2.concat & '|' & T1.品番 ) ;
>
>-------------------------------------------------------------------------------
>
>
>■結果
>
> grp_num sub_num 品番 数 concat total
>-------------------------------------------
>   1   1   A  2  A    2
>   1   2   B  2  A|B   4
>   1   3   C  3  A|B|C  12
>   2   1   D  1  D    1
>   2   2   E  2  D|E   2
>   2   3   F  2  D|E|F  4
>   3   1   A  3  A    3
>   3   2   B  3  A|B   9
>   3   3   W  3  A|B|W  27
>
>以下、おまけ。
>
>外部結合 は 内部結合 に比べて
>パフォーマンスがめちゃんこ悪いので
>先のSQLで 更新速度 が遅すぎる場合は
>UPDATE文を2回に分けて発行します。
>
>▼1回目
>------------------------------
>
>UPDATE tbl
>SET concat = 品番, total = 数
>WHERE sub_num = 1 ;
>
>------------------------------
>▼2回目
>--------------------------------------------
>
>UPDATE tbl T1
>INNER JOIN tbl T2
>    ON T1.grp_num = T2.grp_num And
>      T1.sub_num = T2.sub_num + 1
>SET T1.total = T2.total * T1.数
> , T1.concat = T2.concat & '|' & T1.品番 ;
>
>--------------------------------------------
>
>  では ☆
・ツリー全体表示

【11817】出来ました
発言  かな  - 10/10/19(火) 13:26 -

引用なし
パスワード
   3桁表示に変えたところうまくいきました

お騒がせ致しました
・ツリー全体表示

【11816】クロス集計表の列見出しを降順に並べ替え...
質問  かな  - 10/10/19(火) 9:39 -

引用なし
パスワード
   クロス集計をしてデータを作成していますが、一つ問題があって、
並べ替えのところを昇順にしても、うまくいきません

今は下記のようになってます

列見出し
01 02 03 04 05 06 07 08 09 10 100 11 12 13 ・・・続く
このように、10の数字の次に11がきてほしいところなんですが、100がきてしまいます

これを回避する方法はないでしょうか?

どうか、伝授お願いします
・ツリー全体表示

【11815】Re:進行状況インジケータについて
質問  Masato/S  - 10/10/18(月) 21:50 -

引用なし
パスワード
   雅さん

 返事がおそくなり、すいません。。。

 ご紹介した方法で試しましたが、吐き出しのレスポンスがいいです。
 本当にありがとうございました。
・ツリー全体表示

【11814】Re:出来ました。出来ました。
お礼  no89  - 10/10/12(火) 17:00 -

引用なし
パスワード
   ▼no89 さん:
クエリーが きれいに¥マークをつけてくれました。長い間 困っていたのでとてもうれしいです。ありがとうございました。


1が出来ていなかったようですので 試してみます。返信遅くなり申し訳ありません。
>
>
>▼no89 さん:
>>契約書レポート印刷で契約書用紙に データのみを印刷しています。
>>マスの中に数字を一個ずつ入れていくと言うことで
>>クエリで lenを使って 1個ずつ切り分けました。
>>数字の一番左の枠に ¥マークを連結で入れたいといろいろしましたが 出来ませんでした。
>>今はちなみに ¥マークをいちいち 移動してレポートを印刷しています。
>>どうしたらいいでしょうか?ご指導宜しく御願いいたします。
・ツリー全体表示

【11813】ありがとうございます。Re:切り分けた数...
お礼  no89  - 10/10/12(火) 16:34 -

引用なし
パスワード
   1が出来ていなかったようですので 試してみます。返信遅くなり申し訳ありません。


▼no89 さん:
>契約書レポート印刷で契約書用紙に データのみを印刷しています。
>マスの中に数字を一個ずつ入れていくと言うことで
>クエリで lenを使って 1個ずつ切り分けました。
>数字の一番左の枠に ¥マークを連結で入れたいといろいろしましたが 出来ませんでした。
>今はちなみに ¥マークをいちいち 移動してレポートを印刷しています。
>どうしたらいいでしょうか?ご指導宜しく御願いいたします。
・ツリー全体表示

【11812】Re:切り分けた数字に\マークをつなげたい...
回答  よろずや  - 10/10/8(金) 21:34 -

引用なし
パスワード
   (1) 文字列の生成
  空白文字列&"¥"&数字
(2) 固定長にする
  上記をRight関数で固定長の文字列にする
(3) 1文字ずつに
  固定長の文字列からMid関数で必要な位置の文字を取り出す
・ツリー全体表示

【11811】切り分けた数字に\マークをつなげたいで...
質問  no89  - 10/10/8(金) 16:27 -

引用なし
パスワード
   契約書レポート印刷で契約書用紙に データのみを印刷しています。
マスの中に数字を一個ずつ入れていくと言うことで
クエリで lenを使って 1個ずつ切り分けました。
数字の一番左の枠に ¥マークを連結で入れたいといろいろしましたが 出来ませんでした。
今はちなみに ¥マークをいちいち 移動してレポートを印刷しています。
どうしたらいいでしょうか?ご指導宜しく御願いいたします。
・ツリー全体表示

【11810】Re:中国語(簡体字)が文字化け
発言  YU-TANG  - 10/10/6(水) 11:51 -

引用なし
パスワード
   こんにちは、YU-TANG です。

> VBE は ASCII/SJIS しか扱えない、ということは、
> そもそも簡体字の取得は不可能ということなのでしょうか。

表示は不可能です。VBE は Unicode ウィンドウではありませんから。
日本語環境下で SJIS にマップできない文字は、イミディエイト
ウィンドウに表示できません(正確には、代替文字に置き換え
られて表示されます)。
取得はまたぜんぜん別の話です。VBE ではなく VBA の話です。

Access のフォームは Unicode ウィンドウなので、フォームの
テキストボックスに適切な(簡体字を表現できる)フォントを
設定して、テーブルの内容を表示させてみましょう。
変数の中身が Unicode (UTF-16) であれば、化けずに表示できる
はずです。
それで化けたら、HTML ソースの取得か格納方法が間違っています。

それでは。
・ツリー全体表示

【11809】Re:中国語(簡体字)が文字化け
発言  247b  - 10/10/6(水) 10:23 -

引用なし
パスワード
   ▼さき さん:
>▼247b さん:
>>▼さき さん:
>>
>>直接の答えにはなりませんが、
>>?になるのは、おそらくUnicode化けです。
>>Strconv関数を使ったらどうでしょうか。
>
>ご回答頂き、ありがとうございます。
>
>strconv(object,vbNarrow)を使っているのですが、
>?になってしまう状況です。

vbFromUnicode
を使うとどうでしょう。
・ツリー全体表示

【11808】Re:中国語(簡体字)が文字化け
回答  さき  - 10/10/6(水) 10:10 -

引用なし
パスワード
   >例)
>「イミディエイト ウィンドウ」に対して「Debug.Print」で出力した。
>↑化けて当たり前。VBE は ASCII/SJIS しか扱えない。

ご回答、ありがとうございます。

例に挙げて頂いた通り、string型の変数にHTLMを取得後、
その変数に対してDebug.Printで出力しました。

VBE は ASCII/SJIS しか扱えない、ということは、
そもそも簡体字の取得は不可能ということなのでしょうか。

もし解決策があれば、お教え頂ければありがたいです。
・ツリー全体表示

【11807】Re:中国語(簡体字)が文字化け
回答  さき  - 10/10/6(水) 10:04 -

引用なし
パスワード
   ▼247b さん:
>▼さき さん:
>
>直接の答えにはなりませんが、
>?になるのは、おそらくUnicode化けです。
>Strconv関数を使ったらどうでしょうか。

ご回答頂き、ありがとうございます。

strconv(object,vbNarrow)を使っているのですが、
?になってしまう状況です。
・ツリー全体表示

74 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1078345
(SS)C-BOARD v3.8 is Free