Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

SQLを用いて別のテーブルからデータを追加する方法 : VBAのTips解説



INSERT INTO 〜 SELECT 〜 FROM 〜 構文

INSERT INTO 〜 SELECT 〜 FROM 〜 構文とは、INSERT INTOで指定したテーブルフィールドに、SELECTで指定したフィールドデータを追加するSQL構文です。フィールドデータの元になるテーブルは、FROMで指定します。INSERT INTOで指定したフィールドとSELECTで指定したフィールドとは対になります。INSERT INTOに指定するテーブル、フィールドは、テーブル名(フィールド名1、フィールド名2、…)の形式で指定します。SELECTに指定するデータは、データ1、データ2、… の形式で指定します。FROMにはデータを追加する元のテーブル名を指定します。

  • 書式

INSERT INTO tablenameA (fieldnameA1,fieldnameA2,…) SELECT fieldnameB1,fieldnameB2,… FROM tablenameB

  • 引数
引数 意味 指定
tablenameA 追加先のテーブル名を指定します 省略不可
fieldnameA1・・・ 追加先のテーブルのフィールド名を指定します。複数の場合は、カンマ(,)で区切ります 省略可(オートナンバー型フィールドに追加する場合のみ省略できます) 省略すると、オートナンバー型フィールドには番号が割り当てられます
fieldnameB1・・・ 追加元のテーブルのフィールド名を指定します。複数の場合は、カンマ(,)で区切ります 省略可(オートナンバー型フィールドに追加する場合のみ省略できます) 省略すると、オートナンバー型フィールドには番号が割り当てられます
tablenameB 追加先のテーブル名を指定します

省略不可

関連項目

  1. RunSQLメソッド
  2. Where句

事例 )

「売り上げ管理確定」テーブルに「売り上げ管理」テーブルレコードを追加します。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim mySQL As String
   Dim strTableName As String
   Dim strtableName2 As String
   Dim strMsg As String

   strTableName = "売り上げ管理確定"
   strtableName2 = "売り上げ管理"

   mySQL = "INSERT INTO " & strTableName & " (日付,取引先名,請求額) "
   mySQL = mySQL & "SELECT 日付,取引先名,請求額 "
   mySQL = mySQL & "FROM " & strtableName2 & " "
   mySQL = mySQL & "WHERE 日付 Between #" & _
           DateSerial(Year(Date), Month(Date) - 1, 1) & _
           "# And #" & DateSerial(Year(Date), Month(Date), 1) - 1 & "#;" '--- A

   strMsg = strTableName & "テーブルの各フィールドに、" & vbNewLine & _
            "前月の" & strtableName2 & "テーブルの確定データを" & vbNewLine & _
            "追加します。"

   If MsgBox(strMsg, vbYesNo) = vbYes Then
      DoCmd.SetWarnings False '--- B
      DoCmd.RunSQL mySQL
      MsgBox "処理が完了しました。"
      DoCmd.SetWarnings True '--- C
   End If

   Exit Sub

エラー:

   MsgBox Err.Number & " : " & Err.Description
   Exit Sub

End Sub
解説
  1. Where句を用いて、前月分のデータ抽出を行います。
  2. 警告メッセージを無効にする。
  3. 警告メッセージを有効にする。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行] ボタンをクリックします。

  1. テーブルフィールドに、データが追加されます。

ページの先頭へ 前ページへ戻る

 


SQLを用いて別のテーブルからデータを追加する方法 : VBAのTips解説


 

-Microsoft Access Club-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。