みなさま、助けてください。
VBAのサンプルを教えて頂けると助かります。
【やりたいこと】
下記①のテーブルがあります。
フォームからボタンを押したら 組店コード別にテーブルを作成したいです。
なお、テーブル名は、下記②のテーブルを読込んで【作成テーブル名称】の名前を付与したいです。
ただし、組店コードDのように、下記②にはありますが、下記①にはないケースもあります。
【ボタン押下後にできるテーブルのイメージ】
T_A ←下記①の組店コードAのデータのみ格納されているテーブル
T_B ←下記①の組店コードBのデータのみ格納されているテーブル
T_C ←下記①の組店コードCのデータのみ格納されているテーブル
① テーブル名:T_明細
【組店コード】 【金額】
A 100
A 500
B 200
C 600
C 150
C 200
②テーブル名:パラメータテーブル
【組店コード】 【作成テーブル名称】
A T_A
B T_B
C T_C
D T_D
No.1
- 回答日時:
クエリでは駄目でしょうか。
本来は、T_明細さえ良い物をわざわざ組合コード別のテーブルを作るとしたら、それはもうAccessは不要では無い
でしょうか。
それをするのならば、是非Excelで作って下さい。そんな使い方をす
る為にAccessが有る訳では有りません。この場合は実体は基本表のT_明
細で、組合コード用のテーブルと言うのは仮想表のクエリで十分だと思
います。
クエリならば、単に
select * from T_明細 where id="A";
とするだけです。何もテーブルを作らなくてもこの種の方法は幾らでも
実現する方法は有ると思いますが。例えば、非連結の組合コードのテキ
ストボックスを作り、組合コードをデータ入力しての更新処理でその組
合コードにリンクしたサブフォームを作る事でもT_明細のフィルタ処理
は出来ます。
この時は、一切のvbaの処理は不要です。
実際にテーブルを作るとしたらターゲットのテーブルを一旦削除しての
初期化をしてから、追加クエリでデータを追加する事になります。
この処理をパラメータテーブルの全てのデータで回さないといけませ
ん。それで目的は達成しますが。そう言う処理と言うのは、excelにも
有る様なフィルターで十分だと思いませんか。
私が担当者なら、その様な個別のテーブルは作りません。また、貰った
人も中には他のデータを見たいと言う場合も有りますのでその様な方の要
望にはこの場合は答える事が出来ません。
その意味ではこのデータは貰う方から見れば万能では有りません。もう
少し詳しい状況を教えて下さい。
USUIさん、相変わらず、分かりにくい質問の書き方でごめんなさい...
そんなわたしに対して、前回の質問から引続き、親切・丁寧にご回答して頂いてありがとうございます♪
ご質問のことですが・・・
>クエリでは駄目でしょうか。本来は、T_明細さえ良い物をわざわざ組合
>コード別のテーブルを作るとしたら、それはもうAccessは不要では無い >でしょうか。
12月22日にUSUIさんから、以下のご回答を頂きました。
下記④で「テーブル作成クエリ」という言葉があったので、組合コード毎にCSVファイルで出力するため、組合コード毎のテーブル作成が必要だと、わたしが思ってしまいました。
>何もテーブルを作らなくてもこの種の方法は幾らでも
>実現する方法は有ると思いますが。例えば、非連結の組合コードのテキ
>ストボックスを作り、組合コードをデータ入力しての更新処理でその組
>合コードにリンクしたサブフォームを作る事でもT_明細のフィルタ処理
>は出来ます。
組合コードは約150種類あります。
なお、これ以上、増えることはありませんが、月によって、変動します(例えば、10月は146種類、11月は139種類)。
フォームからの入力だと、最大150回入力しないといけません。
組合コード毎にCSVファイルを作成するのは、毎月の定例作業のため、できれば、ボタン1回の押下で最大150種類のCSVファイルが出力されるようにしたいのですが...(わがままですみません)
【12月22日 USUIさんからのご回答】
フォームの出力ボタンで組合コード別のCSVを出力と言う事で有れば、
エキスポートを一つのファイル単位に出す事になります。
方法としては、
① 最初に組合コードをグループ化してテーブルに保存する
② 組合コードの数を①のテーブルから集計クエリで求める
③ エキスポートの処理ではクエリーからの処理は面倒臭い
④ 組合コード別のテーブルを作成する(テーブル作成クエリ)
⑤ エキスポートをするためのパラメータテーブルを作る
⑥ パラメータのテーブルはテーブル名とファイル名を用意する
⑦ ⑤のテーブルを読んで、EOFになる迄エキスポートする
(以下、省略)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- Access(アクセス) テキストボックスの値をテーブルに入力したい 2 2022/06/28 12:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他のMDBのテーブルに追加したい
-
Accessで別mdbのテーブルをコピー
-
VBとアクセスでSQL文に変...
-
DataGridViewに複数テーブルの...
-
ACCESS2010 実行時エラー 2766
-
ワークテーブルの作成について
-
asp.net mvcを利用する場合の複...
-
エクセルのテーブルを解除する...
-
★クリスタルレポートの元になる...
-
『列名 '担当者CD' があいま...
-
WORD VBA プログラム修正をお願...
-
Access SQLITEのリンクテーブ...
-
「テーブルに主キーがありませ...
-
CSVファイルのエクスポートでソ...
-
DAOの作成単位について
-
DataGridの中身をDataSetにテー...
-
任意の周波数の正弦波(サイン...
-
ORACLE 効率の良いDB設計に...
-
AccessからExcelへエクスポート...
-
書式をテーブルにした場合の絞...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WORD VBA プログラム修正をお願...
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
『列名 '担当者CD' があいま...
-
他のMDBのテーブルに追加したい
-
ExcelVBAからAccessMDB内のテー...
-
手動または分散トランザクショ...
-
SQLを発行とは?クエリの作成と...
-
DataGridViewに複数テーブルの...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
エクセルのテーブルを解除する...
-
Excel複数シートをaccessへ一括...
-
HTMLのテーブルの行数が多くな...
-
COBOLのINVALID KEYが理解でき...
-
アクセステーブル、リンクとロ...
-
ACCESSのテーブル名をリストに...
-
ACCESS2010 実行時エラー 2766
-
DataGridの中身をDataSetにテー...
-
【ADO】「Execute」を使うと...
おすすめ情報