- 締切済み
Access 予めクエリを作っておきたい
お世話になります。 毎月、2つのExcelをインポートし、シリアル番号で紐付けて エクスポートしております。 ファイルA ID 1月 2月 3月 4月 メーカー 型番 シリアル番号 価格・・・ ファイルB ID メーカー 型番 シリアル番号 価格・・・ ファイルAとBをインポートし、シリアル番号で紐付けて ID 2月 3月 4月 5月 メーカー 型番 シリアル番号 価格・・・ とし、エクスポートしてます。 ※ファイルB全件に対して、ファイルAを付加するイメージです。 また5月のフィールドを追加し(Null)、4ヵ月分のみ載せるので1月は不要。 なお、エクスポートしたファイルは翌月のファイルAになります。 <質問> 上記のように、毎月ファイルAの見出しが変わる為、毎回クエリを 作成しておりますが、手間がかかります。 このようなケースでは予めクエリを作成しておくことは出来ない のでしょうか。 例えば6月のファイルAは、 ID 2月 3月 4月 5月 メーカー 型番 シリアル番号 価格・・・ で、 ID 3月 4月 5月 6月 メーカー 型番 シリアル番号 価格・・・ としてエクスポートしなければならないので、クエリとしては ID 今月-3ヵ月 今月-2ヵ月 今月-1ヵ月 今月:Null メーカー・・・ みたいにすればよいのでしょうか。 だとしたら、「今月-xヵ月」の部分はどのような記述になるので しょうか。 ご教示の程、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- piroin654
- ベストアンサー率75% (692/917)
>例えば6月のファイルAは、 > ID 2月 3月 4月 5月 メーカー 型番 シリアル番号 価格・・・ これらはExcelでの列の並びですよね。それで、これらの フィールドはAccessでは、テーブルでのデータはどのように 存在していますか。 Excelへの書き込みはどのような方法でファイルのヘッダ などを書き込んでいるのでしょうか。 とくに三つの「月」のフィールドについてですが。 それと、 >クエリのデザイン画面のフィールドの箇所で、 >Format・・・と記述すると、その文字列がフィールド名になって >しまいます。。 >また、式1:format(dateadd("m",-3,date),"m") & "月" >とすると、クエリ結果が全て「3月」という文字列になってしまいます。 ですが、クエリの様子がわからないので、少し説明をいただけたらと。
- piroin654
- ベストアンサー率75% (692/917)
何月と"月"を添えるならば、 format(dateadd("m",-3,date),"m") & "月" でもいけます。
- piroin654
- ベストアンサー率75% (692/917)
3ヶ月前 format(dateadd("m",-3,date),"m") 2ヶ月前 format(dateadd("m",-2,date),"m") 1ヶ月前 format(dateadd("m",-1,date),"m") 今月 format(date,"m") みたいなことですか?
お礼
piroin654様 いつもご回答ありがとうございます。 やり方が悪いのかもしれませんが、クエリのデザイン画面のフィールドの 箇所で、Format・・・と記述すると、その文字列がフィールド名になって しまいます。。 また、式1:format(dateadd("m",-3,date),"m") & "月" とすると、クエリ結果が全て「3月」という文字列になってしまいます。 やはりSQLでフィールド名を可変にするしかないのでしょうか。
補足
度々ありがとうございます。 仰る通り、 > ID 2月 3月 4月 5月 メーカー 型番 シリアル番号 価格・・・ はExcelの見出しで、インポート後はそのままフィールド名となります。 >Excelへの書き込みはどのような方法でファイルのヘッダ >などを書き込んでいるのでしょうか。 >とくに三つの「月」のフィールドについてですが。 ちょっと、意味を理解できないのですが、エクスポートのことでしょうか? 作成したクエリを右クリック⇒エクスポート です。 >ですが、クエリの様子がわからないので、少し説明をいただけたらと。 文章だと説明が難しいので、こちらはいったん締めて、別途投稿させて 頂きます。