• ベストアンサー

テーブルからテーブルへ移動するには?

Access2000を使用しています。 1つのテーブルから同じフィールド名のデータ(複数あります)だけをもう1つのテーブルへ移動させる方法で、しかも、移動してくる側のフォーム上にコマンドボタンを置いて(例えば、追加ボタンとか)そのボタンを押すとフィールド名の一覧が出てきて、移動させたいフィールド名をそこでチェックすると、インポートされるみたいなイメージで、、、、、一番簡単な方法があればご教示ください。 是非、是非、ご存知の方、お願い致します。

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

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.1

そのテーブルのキーと同じキー項目と同じ項目を持ちON/OFFの項目を持つチェック用テーブルを作成します。 クエリーでそのキー同士で連結したクエリーを作り、結合プロパティを元のテーブルの全レコードとチェックテーブルの同じ結合フィールドを含める。と言う設定をします。 そのクエリーに対する入力フォームを作れば、まずレコード選択と項目が一覧表示できるようになります。 あとは追加クエリーで、選択用のクエリーでチェックボックスがTrueの物を目的のテーブルに追加してあげるだけです。 サンプル --------------------- テーブル1(元のテーブル) ID       オートナンバー a        項目 --------------------- テーブル2(追加されるテーブル) ID       数値項目 a        項目 --------------------- テーブル3(チェック用テーブル) キー      数値項目 chk       ON/OFF --------------------- クエリ1(選択用クエリー) SELECT テーブル3.chk, テーブル1.ID, テーブル1.a FROM テーブル1 LEFT JOIN テーブル3 ON テーブル1.ID = テーブル3.キー; --------------------- クエリ2(追加用クエリー) INSERT INTO テーブル2 ( ID, a ) SELECT クエリ1.ID, クエリ1.a FROM クエリ1 WHERE (((クエリ1.chk)=True)); テーブル1からテーブル2へ追加するためにチェック用のテーブル3を使用します。 クエリ1でチェックをしてクエリ2を実行するとテーブル2にチェックしたレコードだけ追加されます。 こんな感じでしょうか?入力フォーム、チェックテーブル等の初期化等は臨機応変にやってくださいね。

sasukee
質問者

お礼

ありがとうございました。 まだ解決作はみつかっていないのですが、いろんな角度から見て、頑張ってみます。

関連するQ&A