Access VBA質問箱 IV

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

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


442 / 9994 ←次へ | 前へ→

【12864】Re:テーブルに存在する単語を1レコードずつクエリの抽出として利用する
回答  かるびの  - 15/7/4(土) 0:17 -

引用なし
パスワード
   >その際、テーブルBに存在する顧客名を一度に抽出条件として指定するのではなく、
>1顧客ごとにクエリを実行し、Excelファイル出力時も
>1顧客ごとにシートを分割して出力したいのですが、
>そのようなことは可能でしょうか。

 可能だと思います。


 その方法ですが、テーブルBのレコードセットを取得し、それをループさせます。
 各ループにおいて、第1に、テーブルBのレコードセットから顧客名を取得します。
 第2に、取得した顧客名を抽出条件としてテーブルAからレコードを抽出するクエリのレコードセット(rsA)を取得します。
 第3に、rsAをエクセルに展開します。
 これに当たっては、エクセルのCellプロパティを使ったり、
エクセルのCopyFromRecordsetメソッドを使います。


 なお、エクセルへの出力に当たって、TransferSpreadsheetメソッドやOutPutToメソッドが
使えるかと思いましたが、
これらメソッドでは、出力先のワークシートを指定したり、出力先のセル範囲を指定したりは
できないみたいですので、いずれも使えなさそうです。


 ところで、テーブルAのテーブル構成がまずいですね。
 テーブルAに顧客名フィールドが設けられていますが、
顧客名フィールドはテーブルBに既に設けられているので、
テーブルAに顧客名フィールドを持たせてはいけません(一事実一箇所の原則)。
 テーブルAには、顧客名フィールドに代えて、
テーブルBの連番フィールドと同じ値を持つフィールドを設けなければいけません。

411 hits

【12863】テーブルに存在する単語を1レコードずつクエリの抽出として利用する ゆう 15/7/3(金) 16:47 質問[未読]
【12864】Re:テーブルに存在する単語を1レコードずつ... かるびの 15/7/4(土) 0:17 回答[未読]
【12873】Re:テーブルに存在する単語を1レコードずつ... ゆう 15/7/6(月) 10:51 質問[未読]
【12874】Re:テーブルに存在する単語を1レコードずつ... かるびの 15/7/6(月) 13:55 回答[未読]
【12875】Re:テーブルに存在する単語を1レコードずつ... ゆう 15/7/8(水) 13:14 お礼[未読]

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