こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessのクエリで2

お伺い致します。
テーブル名:テーブルA
 フィールド:月日,販売先,品番
テーブル名:テーブル期間
 フィールド:分類、始月日、終月日
テーブル名:材料テーブル
 フィールド:品番,材料1,材料2,分類
の3テーブルが有り
”テーブルA”の月日の違いで”テーブル期間”の分類を表示させた後
現在品番と分類で材料1、材料2の使用量をクエリで以下のように表示
クエリ名:Q_テーブルA
月日,販売先,品番,材料1,材料2
0501,東京販売,18-18,270,180...材料の使用量は月日と品番で決まる、
1105,仙台販売,18-21,290,190
0801,大阪販売,21-21,300,190
0907,東京販売,27-18,350,175
 ここでお伺いしたい事は
材料テーブルの事ですが実際は品番が30種類、材料が10種類の300データに及び
それに期間による材料テーブル1と2の2種類あります
各々の表はエクセルで計算させインポートさせた後ユニオンクエリで一緒にし
テーブル作成クエリで”材料テーブル”を作成するという事をしていますが。
そのまま、テーブル1とテーブル2を月日の違いによる分類1,2でスイッチさせて
クエリ”Q_テーブルA”を作成する方法が有りませんでしょうか
簡単に出来ると思いつつも良い方法が浮かばず回り道しています。
よろしくお願い致します。

投稿日時 - 2006-11-30 00:01:11

QNo.2570943

暇なときに回答ください

質問者が選んだベストアンサー

>スキルアップをめざし初級者からを脱したい所です。
ということなら今の方法で進める方がいいですよ

VBAを使えば何でも出来るので、
データベース的に変な方法を無理矢理にというのをよく見かけます
VBAを使うのが上級者という考えは間違っています
データベースを理解しましょう

>どうも回り道しているようで!
今の方法の方が正道です

>フォームで2つのクエリをスイッチさせるとか?
フォームのレコードソースを書き換えてやることになります
手動でも変えられますが、自動化したければVBAで

>SQLはこれから勉強しようと思っています。
VBAよりこっちの方が先でしょうね

投稿日時 - 2006-12-01 11:55:45

お礼

アドバイスありがとうございます。
>>SQLはこれから勉強しようと思っています。
>VBAよりこっちの方が先でしょうね
クエリはデザインビューだけで作っていましたが
思い通り動くクエリが有ればSQLビューで
どういう風に動いているのかを確認しながら
作成していきたいと思います、
今まで、デザインビューの編集で動けば、それで満足し
SQLビューを開いた事がありませんでした。

投稿日時 - 2006-12-01 23:32:32

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

>やはり、2つのテーブルを分類コードで使い分けるのは無理ですか?
クエリを2つ作って使い分けるか
VBAでSQLを動的に書き換えてやることになりますね

>ユニオンで合成する
これが普通のやり方でしょう

投稿日時 - 2006-11-30 23:38:10

補足

ありがとうございます
>VBAでSQLを動的に書き換えてやることになりますね
まだ、Accessに関しては初級者でSQLはこれから勉強しようと思っています。
>クエリを2つ作って使い分けるか
Q_テーブルAとQ_テーブルBを作ったとして、
どのようにして選択させるのでしょうか?
フォームで2つのクエリをスイッチさせるとか?(イメージ出来ません)
よろしかったら、もう少しヒントを下さいませんでしょうか?
>>ユニオンで合成する
>これが普通のやり方でしょう
現状はこのやり方で、ユニオンクエリDataを
フォームのコマンドボタンで、自動的にテーブル作成クエリを実行させて、
”材料テーブル”を作成しています。
これで充分目的を達しているのですが、どうも回り道しているようで!
スキルアップをめざし初級者からを脱したい所です。

投稿日時 - 2006-12-01 01:26:34

ANo.1

テーブルを分けているから難しくなるのであって
フィールドをもうひとつ増やして1つにしてしまえば済むことでは

[材料テーブル](品番,材料1,材料2, 分類1、分類2)

>期間による材料テーブル1と2の2種類あります
期間が重ならないのであれば、フィールドを増やす必要もないような

投稿日時 - 2006-11-30 12:18:08

補足

ありがとうございます。
現在
[材料テーブル]
No,品番,材料1,材料2,,,,,,,材料10, 分類
1, 18-18,270,180,,,,1
2, 18-21,290,190,,,,1
3, 21-21,300,190,,,,1
4, 27-18,340,180,,,,1
,
30,,,,1
31, 18-18,280,185,2
32, 18-21,293,193,2
33, 21-21,310,193,2
34, 27-18,350,175,2
,
60,,,,,2
としていまして、最後の分類で
夏期間とそれ以外の季節とに分けています。
これで使っていまして現在、問題無いのですが
 ここの材料値は込み入った計算を各セルごとにしなければ成らず
エクセルで各セルに計算式を入れ2つのワークシート1,2を作成しています。
作成した。ワークシートをアクセスで加工(ユニオンで合成する等)
一つのテーブル[材料テーブル]にしています。
(ワークシート1,2はSheet1(各セルに式を書込)で夏とそれ以外の定数を変更するだけで、
Sheet2(夏用)、Sheet3(それ以外)をマクロで作成
強引に夏用に300セルを新規計算し1枚のワークシートにしてインポートすれば
済む事なのですが)
やはり、2つのテーブルを分類コードで使い分けるのは無理ですか?

投稿日時 - 2006-11-30 22:39:29

あなたにオススメの質問