• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessデータ抽出から追加)

Accessデータ抽出から追加

このQ&Aのポイント
  • Accessデータを抽出し、他のデータと統合したいです。
  • 指定期間のデータを抽出してワークデータを作成したいです。
  • 条件に合致するデータを抽出し、在庫テーブルに追加したいです。

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

  • ベストアンサー
noname#140971
noname#140971
回答No.2

店コード__キャリアコード__機種コード_数量 101_______10______________5_____________2 102_______10______________6_____________2 101_______10______________5_____________1 102_______10______________6_____________1 もしかして、このような結果を得たいということでしょうか? これだったら、ケース1、2の情報がないと識別できないでしょうね。 分類_店コード__キャリアコード__機種コード_数量 01___101_______10______________5_____________2 01___102_______10______________6_____________2 02___101_______10______________5_____________1 02___102_______10______________6_____________1 この場合は、UNION で結合することになります。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#140971
noname#140971
回答No.1

販売店: ID__店コード 01__101 02__102 販売履歴: ID__店コード__区分_1__区分_2__区分_3__種別__キャリアコード__機種コード__売上年月日 01__101_______2_______0_______5_______1_____10______________5___________2008/02/02 02__101_______2_______0_______5_______2_____10______________5___________2008/02/02 03__102_______2_______0_______6_______1_____10______________6___________2008/02/02 04__102_______2_______0_______6_______2_____10______________6___________2008/02/02 このようなテーブルとデータを想定。 クエリ1: 店コード__キャリアコード__機種コード_数量 101_______10______________5_____________2 102_______10______________6_____________2 SELECT 販売履歴.店コード, 販売履歴.キャリアコード, 販売履歴.機種コード, COUNT(販売履歴.キャリアコード) AS 数量 FROM 販売履歴 INNER JOIN 販売店 ON 販売履歴.店コード=販売店.店コード WHERE 販売履歴.キャリアコード='10' And 販売履歴.区分_1='2' And 販売履歴.区分_2='0' And 販売履歴.区分_3 In ('5','6') And 販売履歴.売上年月日<=#3/1/2008# GROUP BY 販売履歴.店コード, 販売履歴.キャリアコード, 販売履歴.機種コード; クエリ2: 店コード__キャリアコード__機種コード_数量 101_______10______________5_____________1 102_______10______________6_____________1 SELECT 販売履歴.店コード, 販売履歴.キャリアコード, 販売履歴.機種コード, COUNT(販売履歴.キャリアコード) AS 数量 FROM 販売履歴 INNER JOIN 販売店 ON 販売履歴.店コード=販売店.店コード WHERE 販売履歴.キャリアコード='10' And 販売履歴.区分_1='2' And 販売履歴.区分_2='0' And 種別='1' And 販売履歴.区分_3 In ('5','6') And 販売履歴.売上年月日<=#3/1/2008# GROUP BY 販売履歴.店コード, 販売履歴.キャリアコード, 販売履歴.機種コード; Q、1と2の文を統合して1つのデータとして欲しいです。 A、1のデータに2は含まれていると推察します。 よって、質問の意図が理解できません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AccessVBA条件追加

    データ作成のコードに条件を追加したいのですが、 どのようにしたら良いのでしょうか? 見づらくてすいません。 '今あるデータの追加用コード StrSql = "INSERT INTO " StrSql = StrSql & "TW_在庫テーブル ( " StrSql = StrSql & "販売店コード, " StrSql = StrSql & "キャリアコード, " StrSql = StrSql & "機種コード, " StrSql = StrSql & "数量) " StrSql = StrSql & "SELECT " StrSql = StrSql & "TTCOM_TZIK_TBL.TZIK_HOKNCD, " StrSql = StrSql & "TTCOM_TZIK_TBL.TZIK_CARRCD, " StrSql = StrSql & "TTCOM_TZIK_TBL.TZIK_SHINCD, " StrSql = StrSql & "COUNT(TTCOM_TZIK_TBL.TZIK_CARRCD) As SUURYO " StrSql = StrSql & "FROM TTCOM_TZIK_TBL " StrSql = StrSql & "INNER JOIN T_販売店マスタ " StrSql = StrSql & "ON TTCOM_TZIK_TBL.TZIK_HOKNCD = T_販売店マスタ.販売店コード " StrSql = StrSql & "WHERE TTCOM_TZIK_TBL.TZIK_CARRCD = '10' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_TZDKBN = '2' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_ZKTKBN = '0' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_SHINKB IN ('5','6') " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_URIYMD <= " & "#" & CStr(Forms![FAMAIN]![TxtTO日付]) & "#" & " " StrSql = StrSql & "GROUP BY " StrSql = StrSql & "TTCOM_TZIK_TBL.TZIK_HOKNCD, " StrSql = StrSql & "TTCOM_TZIK_TBL.TZIK_CARRCD, " StrSql = StrSql & "TTCOM_TZIK_TBL.TZIK_SHINCD;" CurrentDb.Execute StrSql 追加したい条件 くっつけたい条件 (StrSql = StrSql & "INNER JOIN T_販売店マスタ " StrSql = StrSql & "ON TTCOM_TZIK_TBL.TZIK_HOKNCD = T_販売店マスタ.販売店コード " StrSql = StrSql & "WHERE TTCOM_TZIK_TBL.TZIK_CARRCD = '10' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_TZDKBN = '2' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_ZKTKBN = '0' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_ROMSYU = '1' " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_SHINKB IN ('5','6') " StrSql = StrSql & "AND TTCOM_TZIK_TBL.TZIK_URIYMD <= " & "#" & CStr(Forms![FAMAIN]![TxtTO日付]) & "#" & " ")

  • ACCESS 処理の件数を取得したい

    どうやっていいのか困っています。 DAOで処理をしています。 下記のような処理があり、それぞれの更新、検索、追加の件数を とりたいのですがどなたか教えていただけないでしょうか? もしくはサンプル、どこかいいサイトはありませんか? よろしくおねがいします。 UPDATEの場合 CurrentDb.Execute "UPDATE T_A SET WHERE Flag = '0'", dbFailOnError SELECTの場合 strSQL = "SELECT * FROM T_N " CurrentDb.Execute strSQL, dbFailOnError INSERTの場合 strSQL = "INSERT INTO FROM T_Y " CurrentDb.Execute strSQL, dbFailOnError

  • AccessVBA コードをスキップしたい。

    あるファイル(ABC.csv)を取り込む時には、 手数料種別の登録を行わず、代理店登録に飛びたい場合は どのようにしたら良いでしょうか? 教えて下さい。(読みづらくて申し訳ありません。) Public Function F_新規マスタデータ登録(StrFName As String) On Error GoTo Err Dim StrSal As String F_新規マスタデータ登録 = False '手数料種別の登録 StrSql = "INSERT INTO TW_手数料種別マスタ ( " StrSql = StrSql & "手数料種別, " StrSql = StrSql & "手数料種別名称) " StrSql = StrSql & "SELECT " StrSql = StrSql & StrFName & ".手数料種別, " StrSql = StrSql & StrFName & ".手数料種別名称 " StrSql = StrSql & "FROM " & StrFName & " " StrSql = StrSql & "LEFT JOIN T_手数料種別マスタ " StrSql = StrSql & "ON " & StrFName & ".手数料種別 = T_手数料種別マスタ.手数料種別 " StrSql = StrSql & "WHERE T_手数料種別マスタ.手数料種別 Is Null " StrSql = StrSql & "GROUP BY " StrSql = StrSql & StrFName & ".手数料種別, " StrSql = StrSql & StrFName & ".手数料種別名称 " CurrentDb.Execute StrSql '新規代理店の登録 StrSql = "INSERT INTO TW_代理店マスタ ( " StrSql = StrSql & "代理店, " StrSql = StrSql & "代理店名称, " StrSql = StrSql & "新規データ, " StrSql = StrSql & "全件出力, " StrSql = StrSql & "選択出力) " StrSql = StrSql & "SELECT " StrSql = StrSql & StrFName & ".代理店, " StrSql = StrSql & StrFName & ".代理店名称, " StrSql = StrSql & "True, " StrSql = StrSql & "False, " StrSql = StrSql & "False " StrSql = StrSql & "FROM " & StrFName & " " StrSql = StrSql & "LEFT JOIN T_代理店マスタ " StrSql = StrSql & "ON " & StrFName & ".代理店 = T_代理店マスタ.代理店 " StrSql = StrSql & "WHERE T_代理店マスタ.代理店 Is Null " StrSql = StrSql & "GROUP BY " StrSql = StrSql & StrFName & ".代理店, " StrSql = StrSql & StrFName & ".代理店名称, " StrSql = StrSql & "True " CurrentDb.Execute StrSql

  • Access2007 データ型エラーについて

    お世話になっております。 下記のVBAでコードを数値型からテキスト型に変更したところ、「抽出条件でデータ型が一致しません。」というエラーが出ました。 デバッグをクリックすると、dbs.Execute strSQLの部分が黄色に反転しています。 VBAはあまり詳しくありませんので、エラーが出なくなる方法を教えていただければ助かります。 よろしくお願いいたします。 Private Sub 在庫差引_Click() Dim dbs As Database Dim rst As Recordset Dim strSQL As String Set dbs = CurrentDb Set rst = Me!サブフォーム.Form.RecordsetClone With rst .MoveFirst Do Until .EOF strSQL = "UPDATE マスター " & _ "SET 在庫数 = NZ(在庫数) - " & Nz(!数量, 0) & " " & _ "WHERE コード = " & !コード dbs.Execute strSQL .MoveNext Loop .Close End With End Sub

  • 削除クエリについて

    ACCESS2000で開発しています。 現在LOOPで A_TBL と B_TBL を日付とコードでリンクさせ同じデータがあれば削除するという処理をしています。 件数が多いためこれでは時間がかかるため、一括で削除できる削除クエリができないかと考えています。 どなたかご教授お願いします。 <現在のプログラム> SQL="SELECT 年月, コード, 日付 FROM A_TBL AS A INNER JOIN B_TBL AS B ON (A.日付 = B.日付) AND (A.コード = B.コード) WHERE (A.年月='200707')" Set RS = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot) Do While Not RS.EOF SQL= "DELETE * FROM A_TBL WHERE (年月='200707') AND (コード='" & RS!コード & "') AND (日付='" & RS!日付 & "')" CurrentDb.Execute SQL RS.MoveNext Loop RS.Close Set RS = Nothing

  • Access 意図しないパラメータ入力

    クエリを作成中なのですが、意図しないパラメータ入力ボックスが表示されます。 テーブルでは店マスタを一側 それ以外の項目が多側になっています。 エクセル用に横並びにするため多側を抽出条件で各項目ごとにクエリを作成しました。 これを一まとめのクエリにしようとしましたが項目が10以上あり クエリが複雑すぎる、ということで二つに分けようとしたのですが 二つ目のクエリでなぜかパラメータ入力が表示されます。 抽出条件は指定していません。 なぜこのようなことになるのでしょうか? 店マスタはテーブルのものを使用。 ゴルフ、球技ボール・・・は多テーブルから各条件を指定し抽出したクエリ。 SELECT ■店マスタ.店コード, ゴルフ.*, 球技ボール.*, 釣.*, 登山・アウトドア.*, 海・水中.*, 武道.*, その他.*, 合計.* FROM (((((((■店マスタ INNER JOIN ゴルフ ON ■店マスタ.店コード = ゴルフ.店コード) INNER JOIN 球技ボール ON ■店マスタ.店コード = 球技ボール.店コード) INNER JOIN 釣 ON ■店マスタ.店コード = 釣.店コード) INNER JOIN 登山・アウトドア ON ■店マスタ.店コード = 登山・アウトドア.店コード) INNER JOIN 海・水中 ON ■店マスタ.店コード = 海・水中.店コード) INNER JOIN 武道 ON ■店マスタ.店コード = 武道.店コード) INNER JOIN その他 ON ■店マスタ.店コード = その他.店コード) INNER JOIN 合計 ON ■店マスタ.店コード = 合計.店コード;

  • Access2016 マイナス設定出来ません。

    こんにちは 先日、質問して丁寧にお教え頂いたのに どうしても出来ません。先日、教えてくださったお二方様 出来が悪い子で本当にすみません。 SELECT T入出金.番号, T入出金.日付, T入出金.発電所コード, T入出金.発電所名, T発電所マスター.事業形態, T入出金.項目コード, T項目マスター.項目名, T入出金.[金額(税込)] FROM (T入出金 INNER JOIN T項目マスター ON T入出金.項目コード = T項目マスター.項目コード) INNER JOIN T発電所マスター ON T入出金.発電所コード = T発電所マスター.発電所コード, UPDATE T入出金 SET [T入出金].[金額(税込)] = [T入出金]![金額(税込)]*-1 WHERE ((([T項目マスター].項目コード)="K02")); で、実行すると FROM 句の構文エラーです。となります。 詳しい方、よろしくお願いいたします。

  • SQLについて

    以下のSQLを実行すると。 SQL実行中に以下のエラーが発生しました。 エラーコード:907 [Oracle][ODBC][Ora]ORA-00907: 右カッコがありません。 というエラーが表示されます。 どこがおかしいでしょうか? SELECT Q1.Pコード, Q1.Qコード, T1.E名称 A名称, T2.E名称 B名称, T3.E名称 C名称, T4.E名称 D名称, FROM ( ( ( ( SELECT Pコード, Qコード, Aコード, Bコード, Cコード, Dコード, FROM 報告書 WHERE Pコード = '0001' AND Qコード = '0001' AND ) Q1 INNER JOIN Eマスタ T1 ON Q1.Aコード = T1.Eコード ) INNER JOIN Eマスタ T2 ON Q1.Bコード = T2.Eコード ) INNER JOIN Eマスタ T3 ON Q1.Cコード = T3.Eコード ) INNER JOIN Eマスタ T4 ON Q1.Dコード = T4.Eコード ORDER BY Pコード, Qコード;

  • アクセス2003 VBA データの抽出方法について

    いつもお世話になっています。 どなたかアクセス2003を使用してのデータ抽出のSQL文を教えてください!! 具体的には、同列にデータの種類が多いために、データの抽出を細かく指定できなく、”除外”するような形で抽出を試みたいのですが、、うまくいかないんです。。どうぞよろしくお願い致します! (明日までに作成しないと・・・(><)) ○開発環境 アクセス2003 SQLServer2000 strSQL = "SELECT * FROM WK基本データ INNER JOIN TB都道府県 ON WK基本データ.所属都道府県 = TB都道府県.都道府県CD " '↓ここから条件が始まります↓ '(所属都道府県の01と06を除く、A列とB列のデータを抽出する) strSQL = strSQL & "WHERE (A列 = 'S' OR A列 = 'F') " strSQL = strSQL & "AND (B列 = 'S2' OR B列 = 'S3') " strSQL = strSQL & "AND 所属都道府県列 <> '01' AND 所属都道府県列 <> '06' " '↓ここからが分からないです!。(下記の内容だと得たいデータは得られず・・・)↓ '除外用のデータを抽出し、除外します。 '(所属都道府県の10を除く、B列とC列のデータを抽出する。) ’(A列の条件は上記と同じとする。C列が追加された。) strSQL = strSQL & "AND NOT(所属都道府県列 = '10' AND C列 = 'I' " strSQL = strSQL & "AND B列 = 'S1' OR B列 = 'SW1') " アクセスのAND や OR や NOT などの使用方法がいまいち理解できていないのだと思うのですが、、、どうやってもできませんでした。 どなたか助けてください!!よろしくお願い致します!!

  • 【Access2003】クエリで動作するSQLがVBAで動作せず困っています。

    下記のソースを実行したところ、「パラメータが少なすぎます。2を指定してください。」というエラーが表示されました。 エラーが発生する箇所は「db.Execute strsql」です。 しかし、このstrsqlに書かれているSQL文をクエリで実行した所、問題なく動作しました。 なんとなく、クエリでは書けるものの、VBAでは書きない所があるのかなと思ったのですが、どのように修正すればよいか分かりませんでした。 その為、上記の現象について、ご教示いただける方がいらっしゃいましたら、よろしくお願いします。 【VBA】 Private Sub btn_Click() Dim db As DAO.Database Dim ws As DAO.Workspace Dim str As String Set ws = DBEngine.Workspaces(0) Set db = CurrentDb ' トランザクション開始 ws.BeginTrans strsql = "INSERT INTO T_W ( W_DAY )" strsql = strsql & "SELECT T_M.M_DAY" strsql = strsql & " FROM T_M" strsql = strsql & " WHERE (((Left([T_M].[M_DAY],4) & Mid([T_M].[M_DAY],6,2) & Right([T_M].[M_DAY],2))" strsql = strsql & " Between IIf(Nz([Forms]![F_1]![text_str])='',0,[Forms]![F_1]![text_end])" strsql = strsql & " And IIf(Nz([Forms]![F_1]![text_str])='',99999999,[Forms]![F_1]![text_end])))" strsql = strsql & " ORDER BY T_M.M_DAY" db.Execute strsql ws.CommitTrans End Sub 【フォーム:F_1】 テキストボックス:text_str テキストボックス:text_end コマンドボタン:btn 【データベース:T_M】 フィールド名:M_DAY    値  :2001/01/01    値  :2001/01/02    値  :2001/01/03 (以下略) 【データベース:T_W】 フィールド名:W_DAY    値  :なし よろしくお願いします。