• ベストアンサー

Accessのクエリで

お伺い致します。 季節により材料の量目を変えて作る製品がありまして クエリのフィールドに 調合時期: Switch([月日]<="0715","1",[月日]<="0915","2",[月日]>"0915","1") のようにスイッチさせているのですが テーブル名:”テーブル期間”として 分類、始月日、終月日 1、0101、0715 2、0716、0915 1、0916、1231 を作りテーブルデータを変化させクエリに反映したいのですが どの様に考えればよいのでしょうか? (工場の所在地により月日を変化さる必要があります 所在地による気温の変化に合わせる為です。) SQLは取っ付き難く不得手で クエリのビューでフィールドや抽出条件等に式を書き込む方式位しか まだわかりません。クエリビューに書き込む方法で出来る方法が 有りましたら、お教えください。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.4

詳しくはヘルプでご確認を・・ ただ探しづらいので、Ctrl + G でイミディエイトウィンドウが開くと思いますので そこに、Dmax とか DlookUp と入れて F1 キーでヘルプが開きます。 Accessのヘルプは(も)一般機能と Visual Basic の二本立てです。 引数 criteria での変数の扱い方も載っています。 Between 始月日 and 終月日 は Between [始月日] and [終月日] と括ってやれば出来ると思います。 ただし、この場合は変更や新規入力が出来ないクエリとなるはず。

acenoh
質問者

お礼

ありがとうございます。 お陰で大変参考になりました。 このプログラムには後が有りまして 材料テーブルがあり、品番と分類とで 使う材料の使用量が変化するのですが 別にスレッドを立ち上げますので、 よろしくお願い致します。

その他の回答 (3)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>"テーブル期間"の事でしたら月日でなく分類ですが 参照する側のテーブルとはテーブルAです 参照される側がテーブル期間 調合時期というのはテーブル期間の分類でいいのですよね だったら、テーブルAとテーブル期間をクエリデザインビューに取り込み 結合はせずに、月日、販売先、品番、分類を取り出し 月日の抽出条件欄に Between 始月日 and 終月日

acenoh
質問者

お礼

ありがとうございます nicotinismさんのアドバイスにありました Between [始月日] and [終月日] と括って解決いたしました。 いつもは[]で囲っているのに、真夜中に補足文を書いていましたので 頭の回転が鈍かったようです。 失礼いたしました。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

参照する側のテーブルにも月日があるのですね 両テーブルをクエリデザインビューに取り込み 結合はしないでおいて 参照側のテーブルの月日の抽出条件欄に Between 始月日 and 終月日 これで期間に該当する分類を取ってこれます

acenoh
質問者

補足

アドバイスいただきありがとうございます。 説明が足りませんでしたが テーブルA: 月日,販売先,品番 0501,東京販売,18-18、 1105,仙台販売,18-21 0801,大阪販売,21-21 0907,東京販売,27-18 テーブルAを元に選択クエリQ_テーブルAを作成 品番の次に 調合時期: Switch([月日]<="0715","1",[月日]<="0915","2",[月日]>"0915","1") を入れ クエリ名:Q_テーブルA 月日,販売先,品番,調合時期 0501,東京販売,18-18,1 1105,仙台販売,18-21,1 0801,大阪販売,21-21,2 0907,東京販売,27-18,2 これですと期間を変更するのに面倒なので テーブル名:”テーブル期間”として 分類、始月日、終月日 1、0101、0715 2、0716、0915 1、0916、1231 を作りテーブル期間の始終月日を変化させた時クエリに反映させたいのです。 >参照する側のテーブルにも月日があるのですね "テーブル期間"の事でしたら月日でなく分類ですが >月日の抽出条件欄に Between 始月日 and 終月日 を入れてみましたが 1行も表示されませんでした。 どこで間違えたのでしょうか?

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

調合時期のところに DLookUp("分類","T期間","始月 ='" & DMax("始月","T期間","始月<='" & T2.月日 & "'") & "'") でいかがでしょう? クエリの元となっているものの名前が分からなかったので、T2 としています。 テーブル期間もT期間となっています。 あ、始月日も。

acenoh
質問者

お礼

早速アドバイスいただきありがとうございます 昨日は1日仕事で開く事ができず お礼を言えず、すみませんでした。 出来ました。テーブルの表示でT2を表示しなくても 出来るのですね有難うございました。 DlLokUpはエクセルのLookUp関数のようなものなのですか? どうしてこうなるのか理解出来ていませんが、 勉強いたします。

関連するQ&A

  • 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”を作成する方法が有りませんでしょうか 簡単に出来ると思いつつも良い方法が浮かばず回り道しています。 よろしくお願い致します。

  • アクセスクエリ

    アクセスクエリのフィールド MS-accessのクエリで質問です クエリで、3つのテーブルがあります。 どのテーブルのフィールドにも[売上]があります。 この3つのテーブルの[売上] フィールド1列に表示させる方法はありませんか

  • Accessのテーブル作成クエリで・・・

    Access2000で「テーブル作成クエリ」を作ろうとしておます。 デザインビューの画面では、既存テーブルの項目をクエリのフィールドへ追加していきますが、 (・・・ここまでは極普通のクエリ作成方法です) それ以外のフィールドとして、先頭に”オートナンバー”を設けることは可能なのでしょうか? また、その場合どのように設定したらよいか、教えていただけますか? 何卒、よろしくお願いいたします。

  • アクセス2007で追加クエリが動かないのですが・・

    あるテーブル(以下「テーブル(1)」といいます。)のオートナンバーを1から振り直すために、テーブル(1)の構造のみをコピーしたテーブルを作り、そこに追加クエリでテーブル(1)のオートナンバー以外のフィールドのデータをくっつけようと思っているのですが、「無効モードのため,アクションまたはイベントはブロックされました。」とのメッセージがでてしまいます。 選択クエリを追加クエリに変換する方法が間違っているのでしょうか? 選択クエリをテーブル(1)を元に作ったうえでデザインビューで、「追加」をクリックし、追加先テーブルを「テーブル(1)のコピー」を選んでいるのですが、何が問題なのでしょうか?

  • アクセスのクエリ作成について

    下記のようなテーブルとフィールドがあるとします。 Aテーブル  会社名 分類 都道府県 住所 HPアドレス  Bテーブル  担当者 部署 電話 メールアドレス Cテーブル  受付番号 分類 Dテーブル  受付番号 分類 ここでAテーブルの都道府県で一致するデータを抽出し、 下記のフィールドを表示するクエリを作成したいと思っています。 A 会社名 分類 都道府県 住所 HPアドレス B 担当者 部署 メールアドレス 電話 C 受付番号 D 受付番号 クエリを作成し実行しましたが、何もデータが出てきません。 全フィールド入力していないと抽出できないのでしょうか。 中にはHPアドレス等がない場合もあるのです。 すみませんが、どなたか教えて下さい。 よろしくお願いします。

  • アクセスのクエリで

    あるテーブルはエクセルからインポートしていますが、全てのフィールドが空白というレコードが多数存在します。 これをクエリで(他に方法があればどの様な方法でもよいです)全てのフィールドが空白のレコードは表示しない様にする事はできますか? これを更新クエリにして、新しく全て空白のフィールドのレコードが無いテーブルを新たに作ろうと考えています。 教えて下さい。よろしくお願いします。

  • Access2013テーブル結合クエリ

    Access2013 住所録テーブルと面談備忘録テーブルを、氏名で結合したクエリを作成したいのですが。 この二つのテーブルの氏名が重なり合わないものもあります。 この際、重なり合わない氏名などもクエリのデータシートビューに表示させる方法を教えてください。 フィールドの抽出条件になにか記入するのかなと思っています。初心者です。 宜しくお願いします。

  • 空白を含む差分クエリーについて

    下記の2つのテーブルがあります。  T_新データ  T_旧データ フィールドは   価格  面積  所在地 の3つです。下記の様に3つのフィールドとも共通しない差分クエリーを 作成しました。     T_新データ         T_旧データ                   価格   ----------> 価格     面積   ----------> 面積     所在地  ----------> 所在地 テーブルの中で面積が空欄になるケースが多いので、下記のようなデータが 両テーブルにあったときは共通のものと認識する方法はありますでしょうか。     T_新データ         T_旧データ                   価格  200,000円       価格 200,000円     面積  (空欄)     面積  (空欄)     所在地 港区港南1丁目    所在地 港区港南1丁目 上で作成した差分クエリーですと、面積が空欄の為、3フィールが共通する データとして認識せず、差分として抽出されてしまいます。 これを防ぐよい方法はありますでしょうか? わかる方がいらっしゃいましたらご教授ください。 よろしくお願い申し上げます。

  • アクセスのクエリーのことで教えてください

     テーブル1とテーブル2があってクエリーでリレーションシップを組むときに  結合プロパティを「テーブル1の全レコードと、テーブル2の同じ結合フィールドのレコードだけを含める。」にして表を作ろうとしたのですが、テーブル2に レコードが無い場合、テーブル1,2を使って作ったクエリー1で表を作り、 ビルドでクエリー1の項目を貼り付けて、計算させると、テーブル2にレコードが無いと空欄になっているためか、計算がうまく行きません。この問題を解決するにはどのような方法をとればよいですか? ほんとにこまったちゃんになっているので教えてください。 

  • Accessのクエリのテーブルの表示について

    Accessで、デザインビューからクエリを作成するときに テーブルを表示させると、フィールド名の一覧の一番上に *(アスタリスク)がありますよね?あれってどのようなとき使うんですか?

専門家に質問してみよう