4

MicrosoftAccessでINSERTSQLクエリを実行するにはどうすればよいですか?

例えば:

INSERT INTO tbl_UserPurchase (ID, Name) Values (321, Joe)
4

4 に答える 4

3

SQLでリテラルを引用する必要があります。

INSERT INTO tbl_UserPurchase (ID, Name) VALUES (321, 'Joe')
于 2012-12-08T15:34:30.163 に答える
3

Accessのクエリデザイナでクエリを作成し、デザインビューで、リボンの[実行]をクリックします。(赤い説明ポイントを探してください。)

コードから実行する場合は.Execute、DAOデータベースオブジェクトまたはADOCurrentProject.Connectionオブジェクトのいずれかのメソッドを使用できます。

Dim strInsert As String
strInsert = "INSERT INTO tbl_UserPurchase (ID, [Name])" & vbCrLf & _
    "VALUES(321, 'Joe');"
CurrentDb.Execute strInsert, dbFailOnError

ただし、パラメータクエリはより柔軟で(Joeだけでなく、他のユーザー名にも役立ちます)、SQLインジェクションを防ぎます。

Dim db As DAO.database
Dim qdf As DAO.QueryDef
Dim strInsert As String

strInsert = "INSERT INTO tbl_UserPurchase (ID, [Name])" & vbCrLf & _
    "VALUES (321, [which_user]);"
Set db = CurrentDb
Set qdf = db.CreateQueryDef("", strInsert)
' you could read the parameter value from a text box on a form,
' but this example will just hard code Joe
qdf.Parameters("[which_user]").value = "Joe"
qdf.Execute dbFailOnError

そして、この猫の皮を剥ぐ方法はまだ他にもあります。いずれの提案も満足のいくものではない場合は、を実行する方法と場所について詳しく教えてくださいINSERT

于 2012-12-08T18:39:54.900 に答える
2

VarChar名前フィールドは(またはDBの文字列値)であると思うので、クエリは次のようになります。

 INSERT INTO tbl_UserPurchase (ID, Name) Values(321, 'Joe');
于 2012-12-08T15:34:41.223 に答える
-1

これを試して:INSERT INTO tbl_name VALUES (1, 'xyz')

それがあなたのために働いたならば、私に知らせてください。

幸運を

于 2017-08-30T06:44:41.020 に答える