
No.3ベストアンサー
- 回答日時:
横レス失礼します。
> フォームを使ってパラメータをわたし、クエリを実行
フォーム上のテキストボックスなどに絞り込み条件を入力し、そこで一旦データを確認した上で
テーブルに追加したい、ということでよろしいでしょうか。
そうであれば、フォームのレコードソース用のクエリ(→選択クエリ)と、テーブル更新用のクエリ
(→削除クエリ+追加クエリ)とをそれぞれ作ってしまう、という手もあると思います。
例えば、
・コピー元となるテーブルをテーブル1(フィールド=ID、名前)
・コピー先となるテーブルをテーブル2(フィールド=名前)
・絞り込み条件と結果を表示するフォーム=フォーム1
・絞り込み条件を入力するテキストボックス=テキスト1
・フォーム1のレコードソースとなるクエリ=クエリ1
・テーブル2の全レコードを削除するクエリ=クエリ2
・フォームで絞り込んだレコードをテーブル2に追加するクエリ=クエリ3
とすると、それぞれのクエリは、以下の通りになります:
クエリ1(重複データをそのまま表示):
Select テーブル1.ID,テーブル1.名前 From テーブル1
Where テーブル1.名前 Like "*" & Forms!フォーム1!テキスト1 & "*"
クエリ2:
Delete テーブル2.* From テーブル2;
クエリ3(名前のみを追加、重複する名前は1つにまとめる):
Insert Into テーブル2 ( 名前 )
Select Distinct クエリ1.名前 From クエリ1;
以上です。
(新規クエリをデザインビューで開いたら、テーブルは何も追加せず、メニューで「表示(V)→
SQLビュー(Q)」を選択して、上記SQL文を貼り付け、保存してください)
なお、テキスト1を編集したら、必ずフォーム1のレコードの表示を更新する形にしておかないと、
フォームの表示とクエリ3で実際にテーブル2に追加されるデータとが合わなくなったりする
ことも考えられますので、注意してください。
(テキスト1の更新後イベントでフォームの表示を更新しているなら、問題ありません)
御礼がとっても遅くなってしまいました…ありがとうございました!
ご丁寧な回答していただき参考になりました。SQLも勉強しないとと思っているのですが…ハドルが高い気がして前に進めません…本当にありがとうございました!
No.2
- 回答日時:
Tab1:
ID__fld_1
1___A
2___A
3___A
Tab2:
ID__fld_1
1___A
2___B
3___C
UPDATE tab1 SET fld_1 = DBLookup('fld_1','tab2','ID=' & [ID])
WHERE fld_1<>DBLookup('fld_1','tab2','ID=' & [ID]);
主キーの存在が大前提ですが・・・。
「fld_1が違ったらfld_1を更新せよ!」という SQL文を書けば・・・。
ただし、この方式だと、フィールドの数だけ。
まあ、現実的じゃないです。
[イミディエイト]
? XXXXXX("DELETE * FROM Tab1;")
True
? XXXXXX("INSERT INTO Tab1 SELECT * FROM Tab2")
True
と、たかだか2回SQL文を実行すれば済む話です。
これで事足りると思いますが・・・。
ところで、クエリ自体をVBAで編集することが出来れば、より簡単に実現できるかと思います。
もしかしたら、この辺りが課題なのかも・・・。
お礼がとっても遅くなってしまいましたが、どうもありがとうございました!
>クエリ自体をVBAで編集することが出来れば、より簡単に実現でき
>るかと思います。もしかしたら、この辺りが課題なのかも・・・。
おっしゃる通りなのです。VBAで編集できたらと思うのですが、マニュアルを買って奮闘中ですが、なかなか思うように…周りに頼る人もいず、一人で四苦八苦です…回答していただいた内容が理解できるようになりたいと思います!
No.1
- 回答日時:
(既存テーブルのデータの)削除クエリ + 追加クエリ という組み合わせ。
この回答への補足
すみません、もう少し説明をお願いしたいのですが・・・実はフォームを使ってパラメータをわたし、クエリを実行するために選択クエリしか指定が出来ません。さらに重複したデータを削除したいのでテーブルにレコードを落とし、そのテーブルに対してまたクエリをかけています。そのため最初のクエリはどうしても選択クエリである必要があるのですが・・・追加クエリ・削除クエリの組み合わせをどのように使えばよいのでしょうか?すみません知識不足で・・・再度よろしくお願いいたします。
補足日時:2008/02/07 16:15お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- MySQL クエリを、PhpMyAdminで作成して実行するとき、まず、テーブルのバックアップを作成してから行う 1 2023/05/29 16:38
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS2000 クエリをテーブル化するマクロ(VBA)おしえてください
Word(ワード)
-
クエリのデータをテーブルに入れたい
Access(アクセス)
-
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
-
4
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
5
アクセス 項目毎にデータを横に並べる方法
Access(アクセス)
-
6
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
7
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
8
Accessでテーブルからテーブルにデータをコピーしたい
その他(データベース)
-
9
クロス集計クエリの結果をテーブルにしたい
Access(アクセス)
-
10
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
11
access の 最終レコードの判定はどう記述しますか
Access(アクセス)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
14
新規レコード行を非表示にしたい
Access(アクセス)
-
15
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
18
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
19
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
20
Access クエリの更新結果をテーブルにするには
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
「データベースまたはオブジェ...
-
ACCESSでクエリを作成したら「...
-
ACCESS のクエリー実行に異常に...
-
ACCESSで2つのテーブルの合計値...
-
クエリで「データ型が一致しま...
-
アクセスでフォームが更新でき...
-
ACCESSでデータ削除すると「読...
-
access・カウント結果がゼロで...
-
追加先の発見方法(SQL以外)
-
Access200のFilterとFindの違い
-
月別の利用者実人員の集計方法
-
SqlServer2012 ビューとクエリ
-
AccessでのDISTINCTROW 、DISTI...
-
ACCESSにてフィールド間の最小...
-
長いSQL文を見やすくするツ...
-
Accessで「クエリーが複雑すぎ...
-
テーブルに主キーを作らないデ...
-
accessの自動更新処理をできな...
-
Accessのフォーム上にレコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS クエリで重複データを最...
-
「データベースまたはオブジェ...
-
ACCESSでクエリを作成したら「...
-
ACCESS クエリで、グループ化...
-
ACCESSにてフィールド間の最小...
-
access・カウント結果がゼロで...
-
追加先の発見方法(SQL以外)
-
ACCESS のクエリー実行に異常に...
-
クエリで「データ型が一致しま...
-
アクセスでフォームが更新でき...
-
Access あるクエリを利用して...
-
SqlServer2012 ビューとクエリ
-
access:連続データ入力
-
アクセスのスナップショット
-
Accessのクロス集計クエリから...
-
accessで選択クエリで得た全レ...
-
ACCESSで2つのテーブル比較で...
-
AccessでのDISTINCTROW 、DISTI...
-
選択クエリで偶数月しか表示し...
-
SQLで優先順位が高いレコードを...
おすすめ情報