アプリ版:「スタンプのみでお礼する」機能のリリースについて

次のテーブルがあります。

組店コード  金額
 A     100
 A     150
 A     300
 B     250
 B     100
 C      50
 C     150
 C     400

これを、次のように組店コード単位でCSVファイル形式で出力(ファイル名は組店コード)したいです。

【イメージ】
  Aファイル
  Bファイル
  Cファイル

ACCESS VBAの勉強不足の私ですが、どうか、お力を貸してください。<m(__)m>
もし、説明に不足がありましたら、ぜひ、お申し付けください。

A 回答 (3件)

フォームの出力ボタンで組合コード別のCSVを出力と言う事で有れば、


エキスポートを一つのファイル単位に出す事になります。

方法としては、
① 最初に組合コードをグループ化してテーブルに保存する
② 組合コードの数を①のテーブルから集計クエリで求める
③ エキスポートの処理ではクエリーからの処理は面倒臭い
④ 組合コード別のテーブルを作成する(テーブル作成クエリ)
⑤ エキスポートをするためのパラメータテーブルを作る
⑥ パラメータのテーブルはテーブル名とファイル名を用意する
⑦ ⑤のテーブルを読んで、EOFになる迄エキスポートする

⑦の実際のエキスポートの処理は下記。
① テーブル名を読む
② その名前でテーブル作成クエリで出力先のテーブルを作る
③ ファイル名を読む。
④ テーブル名とファイル名をエキスポートのパラメータに組み込む
⑤ エキスポートを実行する

⑤のパラメータを作る所は、データに依り変化するので規則性をもって
プログラム化をする必要が有ります。この部分は後にして最初はテスト
データとしてデータをテスト的に使って全体が動く事を確認してから。

パラメータのテーブルを作る所は、プログラム化をした方が良いと思いま
す。然し、多分に得意先別のデータの配布などに使うとは思いますが。

私ならば、メールを使ってファイルは特別には用意はしませんが。無駄
なリソースは余り作る物では有リません。
    • good
    • 0
この回答へのお礼

USUIさん、何回もわたしの為に貴重なお時間、ありがとうございます♪

まさに、やりたいことはUSUIさんのご回答のとおりです。

組合コードは計150種類あります。
例えば、組合コードAのCSVファイルは、組合コードAのみのデータが格納された状態します。
また、ファイル名は、組合コードAだと分かるような名前をつけます。

教えて頂いた考え方は分かりました♪
ただ、わたしはVBAを勉強中のため、完成できるか不安ですが・・・
がんばってみます♪

USUIさん、本当にありがとうございます。

お礼日時:2016/12/26 11:12

多分、今の質問で分かる方はいないと思います。


相手に分かりやすく質問をするためには
具体的に面倒でもデータを提示をしないと質問者は
理解をしていても第三者には理解は出来ません。

ダラダラと言葉での説明ではなくて具体的な
データで質問をすれば相手もそれに沿った
的確な回答が出来ます。

いくら言葉で説明をしたとしてもそれは限界が
あります。百聞は一見に如かずです。

具体的なイメージが分かる様なデータで再度の
質問を提示願います。

ここで求めている質問と言うのは、レポートを指して
いるのでしょうか。ならば、最初からレポートと具体的
に言わないと相手は理解出来ません。

単にデータとして求めるのか、書式を揃えての報告用なのか
によってその実装方法は異なります。

単にCSV形式で出力をするだけならばエキスポートで区切り符号
を指定すれば出力は出来ます。そのためのウイザードも有リます。

個別にCSVを出力するのであれば、エキスポートをそのファイル
の数だけ処理をするだけです。

上記はA B Cと個別にCSVを出力する場合です。実際は、csvをexcel
で利用を前提に考えるとexcelのフィルターが出来るので
同時に全てのデータを出力と言うのが考えられます。

それは単に選択クエリで組合コードをソートするだけです。
    • good
    • 0
この回答へのお礼

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

お返事が遅くなりまして、ごめんなさい。

親切、丁寧にありがとうございます。


<単にCSV形式で出力をするだけならばエキスポートで区切り符号
<を指定すれば出力は出来ます。そのためのウイザードも有リます。

⇒単にCSV形式で出力します。
 ウイザードの使用も考えましたが、組店コードが150店舗(150種類)あります。
 150店舗にCSVファイルを配付する必要があります(例えば、A店舗には組店コードAのデータ
 のみが格納されたCSVファイルを配付します。また、どの店舗のデータが格納されているか分かるため、
 ファイル名にA店舗の名前を付けます)

お礼日時:2016/12/26 09:19

選択クエリのsqlで


SELECT table1.code, Sum(table1.money) AS moneyの合計1
FROM table1
GROUP BY table1.code
ORDER BY table1.code;

をやると出来ます。
    • good
    • 0
この回答へのお礼

USUI様
親切にご回答ありがとうございます♪

すみません、わたしの質問が悪く、誤解を招いてしまいました。

データのグループ化ではなく、

たとえば、フォームの出力ボタンを1回押せば、組店コードAのCSVファイル、組店コードBのCSVファイル、組店コードCのCSVファイル・・・と組店コード毎にCSVファイルが出力されるようにできればと思います。

お礼日時:2016/12/22 12:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています