• ベストアンサー

ACCESS-SQLを教えてください。(2回目です)

yomo3の回答

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.1

こんにちは。 作業日、交換日などのフィールドは日付/時刻型で定義されているでしょうから、そのフィールドに時刻も入れるようにすれば、全く同じSQLでお求めの結果が出ると思いますが……。 そういうことではないですか? 

ASAHI-yuki
質問者

お礼

作業日と開始時間をSQLの中で足してみました。単なる私の知識不足だったようで、求めたい値が出てきました。 お忙しいところ本当にありがとうございました。助かりました。

ASAHI-yuki
質問者

補足

補足します。すべて同じ型で「日付時刻型」です。私も【「作業日」&「開始時間」】【「交換日」&「時間」】と同じフィールドで【2003/12/31 12:00】と表示できれば一番簡単だとは思うのですが、実績明細のテーブルの方の開始時間は別のフィールドにしておきたかったので、作った当初に分けました。 分けたままでは無理でしょうか?よろしくお願いします。

関連するQ&A

  • SQLを教えてください。

    Access2000で、簡単なデータベースを作っています。 以下のような処理をする場合どうすればよいか教えてください。自分で書いたSQL文では結果は一行も返ってきませんでした。 「3台の車輌があり、それぞれに仕事をし量を記録しています。車輌の部品交換についても記録します。前回の特定の交換内容「AAA交換」の交換日から現在までいくら仕事をしたか、その間の量の累計を、車輌ごとに知りたい。(量によってAAAを交換するかどうか決める(オイル交換みたいな感じ)」 *実績明細テーブル* 実績コード(主キー) 作業日 車輌コード(外部キー) 打設数量 *交換記録テーブル* 交換コード(主キー) 交換日 交換内容 車輌コード(外部キー) 社員コード(外部キー) *車輌テーブル* 車輌コード(主キー) 車番・・ *社員テーブル* 社員コード(主キー) 名前・・ 作業日と、交換日は同じ日付になることはほとんどありません(車輌があく時にメンテをするので) 他の方の質問の仕方を参考に書いてみましたが、補足したほうが良いことがあれば補足します。よろしくお願いします。

  • SQLを教えてください。

    以下に5つのテーブルがあるとします。 (1)全体テーブル  ・登録順番号(Key)  ・登録名 (2)商品テーブル  ・項目コード(Key)  ・品名コード(Key)  ・商品登録順番号(Key)  ・商品サイズ(Key)  ・品名 (3)商品単価テーブル  ・項目コード(Key)  ・品名コード(Key)  ・商品登録順番号(Key)  ・商品サイズ(Key)  ・登録順番号(Key)  ・商品単価 (4)新_商品単価テーブル  ・項目コード(Key)  ・品名コード(Key(Key))  ・商品登録順番号  ・商品サイズ(Key)  ・登録順番号(Key)  ・新_商品単価 (5)詳細テーブル  ・登録順番号(Key)  ・品名コード(Key)  ・原価項目コード(Key)  ・商品数量A  ・商品数量B 上記のテーブルから、以下の条件に合致する「(1)の登録名」「(2)の品名」「(4)の新_商品単価×(5)の商品数量※」を取得したい。 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A 【条件1】全てAND条件 新_商品単価テーブルの項目コードが100  新_商品単価テーブルの品名コードが50 新_商品単価テーブルの新_商品単価×詳細テーブルの商品数量※<0 商品単価テーブルの商品単価×詳細テーブルの商品数量※>0 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A 上記で抽出出来るレコードに加えて、以下 【条件2】全てAND条件 新_商品単価テーブルの項目コードが200~300あるいは400~500 新_商品単価テーブルの新_商品単価×詳細テーブルの商品数量※=0 商品単価テーブルの商品単価×詳細テーブルの商品数量※>0 ※商品数量Bに値があれば商品数量Bを、値がなければ商品数量A どのようなSQLで抽出できますでしょうか?? DBはAccessです。

  • SQLの書き方(UPDATE文)

    SQLの書き方の質問です。 売上Tと商品Mというテーブルがあったとして、 売上Tには商品コード、数量、金額という項目が 商品Mには商品コード、単価という項目が それぞれあったとします。 売上Tの金額=売上T.数量×商品M.単価 この売上Tの金額を更新するのに、update文でできるだけシンプルに高速に動くSQL文を作成したいのですが、どのような書き方がよいと思いますか? 件数は例えば売上が100万件、商品が10万件あった場合を想定して。 以上よろしくお願いいたします。

  • SQL文のGROUPで重複解除させたい

    お世話になります 現在EXCEL2003VBA内下記SQLを作成しています ■仕様 工事日に対してCC.作業コード, CC.作業者コードの空白以外をCC.作業コード順に絞込みしています mySQL = "SELECT CC.YesNoチェック, CC.作業コード, CC.作業者コード, CC.数量 FROM CC " & _ "WHERE(((CC.工事日)>=#" & orderDate & "#) AND ((CC.工事日)<=#" & shipDate & _ "#))" & _ "GROUP BY CC.YesNoチェック, CC.作業コード, CC.作業者コード, CC.数量 " & _ "HAVING NOT(CC.作業コード IS NULL) AND NOT(CC.作業者コード IS NULL)" & _ "ORDER BY CC.作業コード ASC ;" ■わからないこと GROUPですが現在の仕様を生かしつつプラス CC.作業コード, CC.作業者コードの重複を除き数量を足し算させたいのですが ■変更したところ ・変更前 "GROUP BY CC.YesNoチェック, CC.作業コード, CC.作業者コード, CC.数量 " & _ ・変更後 "GROUP BY CC.作業コード, CC.作業者コード " & _ この状態ではうまくうごいてくれません わかる方ご教授願います

  • Access初心者です。(Access2003)

    書籍の在庫管理のフォーム作成で、、 メインフォームとサブフォームにわけました。 しかし、サブフォームで 1つの商品を入力し、2番目の商品を入力すると、 先の1つめの商品入力の履歴が、2番目と同じになってしまいます。 (数量だけは1番目の入力通り残ってくれてます) <サブフォーム> ------------------------------ 申請書番号、商品コード、版、商品名、数量 ------------------------------ 1行目 0001 060 3-5 ACCESS入門書 5 2行目 0001 061 5-6 ACCESS応用書 3 ------------------------------- となるはずが、2行目を入力すると ------------------------------ 1行目 0001 061 5-6 ACCESS応用書 5 2行目 0001 061 5-6 ACCESS応用書 3 ------------------------------- となってしまいます。 商品名の箇所は、 商品コードと版を入れると自動で商品名が反映されるように、 コントロールソースに 「=DLookUp("商品名","T_商品","商品コード='" & [コード] & "'" & "And 版='" & [版] & "'")」、 としました。 構造情報は以下の通りです。 メインフォームの元は、 <テーブル:T_入出庫> ・申請書番号 ☆「T_入出庫明細」と結合 ・提出日 ・担当者 ・備考 など サブフォームの元は、 <クエリ:Q_入出庫明細_サブフォーム> ・申請書番号(T_入出庫明細) ・商品ID(T_入出庫明細) ・商品コード(T_商品) ・版(T_商品) ・商品名(T_商品) ・数量(T_入出庫明細) Q_入出庫明細_サブフォームの元は、 <テーブル:T_入出庫明細> ・申請書番号 ・商品ID ☆「T_商品」と結合 ・数量 <テーブル:T_商品> ・商品ID ・商品コード ・商品名 ・版 ・仕入原価 ・備考 など です。 宜しくお願致します。

  • ACCESSのVBAのSQLを教えてください。

    テーブル1とテーブル2があり、それをUNIONで結合して、リンクさせたOracleのテーブルキーと 結合し、Oracleのテーブルにないキーを検索したいのですが、うまく出来ません。 ACCESSのVBAで作りたいのですが・・どうかご教授願います。 構成  テーブル1   項目名  Key 顧客コード1   名前 テーブル2     項目名   Key 顧客コード1   Key 顧客コード2      名前 Oracleのテーブル  テーブルB     項目名  Key 管理コード  テーブル1の顧客コード1とテーブル2の顧客コード2をUNIONでまとめたものをA1としA1.顧客コードとします それとOracleのテーブルであるテーブルBの管理コードと結合して テーブルBにないA1の顧客コードを抽出するSQL文を作成したいと思います。 (管理コード,顧客コード1,顧客コード2は同じ属性、同じ桁数) SELECT A1.管理コード FROM ( SELECT T1.顧客コード1 as 顧客コード FROM テーブル1 T1 UNION SELECT T2.顧客コード2 as 顧客コード FROM テーブル2 T2 )A1, テーブルB WHERE A1.顧客コード = テーブルB.管理コード AND テーブルB.管理コード IS NULL; エラーにはなりませんが、実行結果は、管理コード 0件です。データ的には、テーブルB側にはテーブル1にはあるがテーブルB側にないデータはあります。

  • Access:サブフォームのレコードのコピー(複数)

    Accessにて販売管理システムを構築しています。 以下の構成にてテーブルがあります。 ------------------------------ T_見積伝票(メイン)  ・見積ID(主キー)  ・顧客名  ・見積日 ------------------------------ T_見積明細(サブ)  ・明細ID(主キー)  ・見積ID  ・商品名  ・数量  ・単価 ------------------------------ T_受注伝票(メイン)  ・受注ID(主キー)  ・顧客名  ・受注日 ------------------------------ T_受注明細(サブ)  ・明細ID(主キー)  ・受注ID  ・商品名  ・数量  ・単価 ------------------------------ *主キーはすべてオートナンバーにて採番されるようにしています。 T_見積伝票とT_見積明細がリレーション T_受注伝票とT_受注明細がリレーション 実現したいことは、T_見積伝票&T_見積明細に入力された内容が 実際に受注となった場合、「受注に転記」のようなボタンを設置し クリックすることで、T_受注伝票&T_受注明細に複製できればと思っています。 T_見積伝票とT_受注伝票にはいくつか異なるフィールドがあるので、(見積日と受注日) 対応するフィールドの内容のみコピーしたいです。 逆にT_見積明細とT_受注明細は主キーとなってるIDのみ違うだけで それ以外は全て同じフィールドにて構成されていますので 全部コピーしたいです。 色々と調べた結果、追加クエリを使うといいみたいですが 追加クエリ自体がよく分からず質問させて頂きました。 宜しくお願い致します。

  • 仕入・売上の見やすい集計表を作りたい

    その日、その都度発生した、仕入れ(売上げ)結果を取引先別に 「品名」「数量」「単価」を記録した『表(1)』と 表(1)からさらに種類別に数量を累計した実績表なる『表(2)』があります この2種類の表をもとに、取引先別の平均単価が月単位で解るような 表に作り変えたいと思っています。 どうすれば見やすく解りやすい表になるのかご伝授いただければ幸いです。

  • エクセルでこんな計算できますか?変則的です。

     朝からずっと考えているのですが、答えを見出せず、行き詰まっているので質問致しました。     A   B   C     D    E    F    G      1部品 タイヤ ハンドル シート タイヤ ハンドル シート  2車種 ムーヴ タント  エッセ ムーヴ タント  エッセ   3数量  30  30    30  100  100  100  4品番  T1  H1    S1   T3   H1   S3  5累計  30            100  6累計      30             130  7累計            30             100  8 ↓  このような配列で5行目にタイヤの累計、6行目にハンドル累計、7行目にシートの累計があり、ムーヴ~タント~エッセという車種の並びはこの並びで続いているのですが、車種の並び方が不変でも、タイヤ、ハンドル、シートはそれぞれの車種に複数存在し、(1~5それぞれタイプあり)品番ごとに累計をして行きたいのですが、部品セルが離れ離れになっているため、上手く累計していけません。  ※タイヤならT1が連続するならそれまでの累計を、T3に変わった位置から新たに累計をしたいのです。  タイヤならタイヤ品番が表記されているセル、行のみ累計し、その他の項目(ハンドル、シート)のセルは空白としたいのです。  IF関数にSUMIF関数をネストしてやっていますが、それぞれの部品はタイプ別に複数あるため、単純なSUMIF関数では答えが出ません。  説明が分かりにくいと思いますが、分かる方、教えていただけませんか?

  • ACCESSで累計数量管理 仕入時と販売時の部品番号が異なる商品を累計管理する方法

    私はACCESS初心者です。標題の件について皆様のお力添えを頂きたく、投稿させて頂きました。 現在の設定は下記の通りです。 仕入テーブル: ・ID(主キー) ・部品番号 ・数量 ・仕入日時 販売テーブル: ・ID(主キー) ・部品番号 ・数量 ・販売日時 累計数量クエリ: ・部品番号 ・仕入数量累計 ・販売数量累計 ・次回発注数量:([仕入数量累計]-[販売数量累計]) 各テーブルの「部品番号」をリレーションシップし、 仕入数量の累計-販売数量の累計=次回発注数という仕組みを取っています。 最近客先の都合で「販売時の部品番号が変更」される事になり、上記方法で運用が出来なくなってしまいました。 仕入時の部品番号:A 販売時の部品番号:A、B、C (3種類) 希望としましては、 仕入時の部品番号と数量累計:A 10個 販売時の部品番号と数量累計:A  5個              :B  5個              :C  1個 この時、 仕入「A10個」-販売A5個-B5個-C1個=次回発注数「-1個」 を成り立たせたいのです。 良い方法をご存知の方がいらっしゃいましたら、 是非御教示を賜りたく、お願い申し上げます。