![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
テーブル:T_管理1、T_管理2
フィールド: F1、F2(T_管理1)
ID、商品名(T_管理2)
となっています。
T_管理1は一時テーブルでレコードをT_管理2に放り込みます。
ただ、放り込む際にIDが重複しては困るのでそのチェック
をかけたいと思いますが、どこでかけるといいのでしょうか?
VBAでレコードセットをループさせ有無チェックをしてから
AddNewをするのであればわかるのですが、できればアクション
クエリで解決できればと思っています。
INSERT INTO T_管理2 ( ID, 商品名 )
SELECT F1, F2
FROM T_管理1
WHERE (((F1) Not In (SELECT ID FROM T_管理2)));
でどうかと思ったのですが、レコードは1件も抽出されませんでした。
Access2000
No.2
- 回答日時:
> WHERE (((F1) Not In (SELECT ID FROM T_管理2)));
>を WHERE (((F1) In (SELECT ID FROM T_管理2)));
>で、逆にするとヒットするのです。
ということは、矢張りデータなのではないでしょうか?
T_管理1 に入力されているデータが全件、既にT_管理2にも入っている、ということになりませんか?
もしこの仮説が外れているようであれば、後はデータの破損くらいしか考えられないような気がします。
(データベースの修復とかを試してみると・・・?)
この回答への補足
修復しても直らなかったのですが、なぜか、#3さんのクエリをかました後、Not In でも 対象となるレコードが表示されるようになりました。
理由はわかりませんが、とりあえず、OKの状態です。
ありがとうございました。
No.1
- 回答日時:
一番楽そうなのは、T_管理2のIDフィールドにインデックス(重複なし)を付けることだと思います。
このようにしておけば、単純にT_管理1の全件をT_管理2に追加する、みたいなやり方でも問題なく、重複しない商品だけを追加してくれると思います。
ちなみに、お書きになったSQL自体は問題ないように思えます。
T_管理1.F1のデータ型とT_管理2.IDのデータ型とが等しいかとか、実際に1件も出てこないようなデータになっていないかどうか、とかをチェックしてみられては如何でしょうか。
この回答への補足
> T_管理2のIDフィールドにインデックス(重複なし)を付けること
そうかもしれません。
> WHERE (((F1) Not In (SELECT ID FROM T_管理2)));
を WHERE (((F1) In (SELECT ID FROM T_管理2)));
で、逆にするとヒットするのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessについて 2 2022/05/31 16:58
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
access追加クエリ実行時の重複を防ぎたい
その他(コンピューター・テクノロジー)
-
Accessの追加クエリで既存のテーブルに上書き追加をしたい
その他(データベース)
-
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
ACCESS テーブルを見比べて、一致しないレコードを追加したいです
Access(アクセス)
-
6
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
7
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
8
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
9
Accessのレポートで開くと「読み取り専用なので…」と出る。
Access(アクセス)
-
10
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
11
Accessでのレコード存在チェック
その他(データベース)
-
12
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
13
ACCESSでテーブルの一部だけを更新したい
Access(アクセス)
-
14
ACCESS 入力フォームでテーブルへデータを複数追加する
Access(アクセス)
-
15
Accessで重複データを入力できないようにしたい。
PowerPoint(パワーポイント)
-
16
更新不可能なクエリに対して更新クエリを実行する方法
Access(アクセス)
-
17
他のMDBのテーブルに追加したい
その他(プログラミング・Web制作)
-
18
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
19
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
20
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pandasでsqlite3にテーブル作成...
-
Apache の mod_rewrite モジュ...
-
SELECT INTOで一度に複数の変数...
-
PL/SQLの初歩的な質問その2
-
テーブル名が可変の場合のクエ...
-
シーケンシャル番号
-
Accessの構成をコピーしたい
-
(Linux、データベース初心者)...
-
改行を含んだデータのインポート
-
結合したテーブルをSUMしたい
-
右向き、左向きの速度が最大と...
-
認知心理学で言うスクリプトとは?
-
行と列の入れ替え検索(行は可...
-
limit offset はupdate文には使...
-
SELECTした結果に行番号を求めたい
-
一つの項目に2つのデータが含...
-
IDとパスワードについて。
-
複数(2つ)のテーブルで検索を行...
-
PRIMARY KEYのコピー
-
領域情報
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pandasでsqlite3にテーブル作成...
-
csvデータ不要列の削除をbatフ...
-
【VB】セルが空になるまで処理...
-
JDBCを使ってdate型へのINSERT...
-
追加クエリで重複データなしで...
-
Excel VBAのユーザーフォームで...
-
マクロでファイルを読み込み、...
-
VBAでの行数を揃える方法
-
ACCESS VBAでSeekメソッドの処...
-
エクセル 2つの列にある値の完...
-
エクセルで去年のデータを今年...
-
ListBoxにAddItemする際、重複...
-
Web制作において「サイト設定」...
-
一週間前から,今までVBAで行っ...
-
Pythonのsetを有効活用する方法...
-
データテーブルの使い方に関して
-
$_GET 説明で 専門書など ごた...
-
EXCELで外部データの取り込みが...
-
Accessでパラメーター以外の削...
-
MySQLでauto_incrementをつかわ...
おすすめ情報