• ベストアンサー

アクセスのテーブルからテーブルへのデータ複写

お世話になります。 テーブル1よりフォーム1を表示してます。 テーブル2よりフォーム2も表示してます。 フォーム1よりフォーム2にフィールド内容を流し込みたいです。 フィールド数は180個あります。 一個一個、180行コードを書いて複写すればできますが、配列を利用して複写する方法はないものでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.1

テーブルからテーブルへの追加複写なら範囲指定で出来ます 範囲は、全体、行(レコード範囲)、列範囲どれも可です VBAだと DoCmd.RunSQL に続いて()内に SQL文を記述します。 SQL文はDelete,Insert,Updateの3つで結構いけますよ 例 Private Sub 当期集計RTN() DoCmd.SetWarnings False DoCmd.RunSQL ("DELETE from 予算明細;") DoCmd.RunSQL ("INSERT into 予算明細(科目ID) select 科目ID from 勘定科目 where 繰越FG = false; ") DoCmd.SetWarnings True End Sub

k7qa170622
質問者

お礼

こんばんは、以前にもお世話になりまして、ありがとうございます。 削除クエリと追加クエリでなかなかできず、時間がないので フォームA[フィールド名F]=フォームB[フィールド名F]のコードを 180個ほど羅列して作りました。 以前のシステムが、ほぼ完成しました。

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

追伸 ・自分はAccessのVBA学習に参考URAのACCESS VBA基礎編を参考にしています。  これにはコードの解説とコーディング例があります。 ・Accessにはファイルを開くと1つだけですが特定のフォームを開く機能があります。  この特定のフォーム名をメニューとしています。  [ファイル]→[オプション]→[カレントデータベース]→[フォームの表示窓の右端]  →[リストから一つを選ぶ]→[OK]  クエリー、フォーム、レポートの数が増えると整理が必要になります 上記メニューフォームに他のフォーム、レポートを開くボックスを配置しています。  ※ボックスはテキストボックスをはじめラベルボックス  、コンボボックスもイベント作成可能です。   勿論コマンドボタンも可能ですが背景色に色が使えないので使っていません。

参考URL:
http://www.geocities.jp/cbc_vbnet/top/nyumon.html
k7qa170622
質問者

お礼

随分と御無沙汰いたしまして申し訳ありません。 今は楕円形に歯型が並んでいるものに入力するものを作ってます。 フォームの中にサブフォーム、更にそのサブフォームの中にサブフォーム(歯面 入力項目250個程)を作ってます。  ACCESS VBA基礎編は参考にさせて頂きます。 ありがとうございます。

関連するQ&A