HOME > 即効テクニック > AccessVBA > データベース・データ保護 > フィールドを指定してテーブルにレコードを挿入する

即効テクニック

データベース・データ保護

フィールドを指定してテーブルにレコードを挿入する

(Access)
●概要●
構文 INSERT INTO テーブル名 (フィールド1,フィールド2,・・・)
   VALUES(フィールド1の値,フィールド2の値,・・・);

INSERTステートメントを使用してテーブルにレコードを挿入します。
INSERT INTO句の後のかっこ内に、レコード挿入時に値を指定するフィールド名を「,」で区切って記述します。また、VALUESキーワードの後のかっこに続けて、新しいレコードのフィールドの値を「,」で区切って記述します。フィールドの値を記述する順番は、INSERT INTO句の後のかっこで指定したフィールドの順で記述します。
INSERTステートメントで指定しなかったフィールドはNULL値が設定されてレコードが挿入されます。そのため、NOT NULL制約のあるフィールドは必ずINSERTステートメントで指定する必要があります。
サンプルでは、まず[商品テーブル]テーブルを用意するサンプルを、コメントでご紹介しています。その後が、「商品コード」、「商品名」を指定して「商品テーブル」にレコードを1件挿入するサンプルです。

●サンプル●
''テーブルを作成する
'Public Sub Sample()
'
'    Dim myDB As Database
'    Dim mySQL As String
'
'    'SQLステートメントを定義する
'    mySQL = "CREATE TABLE 商品テーブル " & _
'            "(商品コード NUMBER ,商品名 CHAR, 単価 NUMBER);"
'
'    'カレントデータベースを変数に代入する
'    Set myDB = CurrentDb
'    'SQLを実行する
'    myDB.Execute mySQL
'
'End Sub

'フィールドを指定してテーブルにレコードを挿入する
Public Sub Sample()

    Dim myDB As Database
    Dim mySQL As String

    'SQLステートメントを定義する
    mySQL = "INSERT INTO 商品テーブル (商品コード,商品名) VALUES" & _
            "(1005 ,'バニラ アイスクリーム');"

    'カレントデータベースを変数に代入する
    Set myDB = CurrentDb
    'SQLを実行する
    myDB.Execute mySQL

End Sub