4

如何在 Microsoft Access 中运行 INSERT SQL 查询?

例如:

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 的查询设计器中构建您的查询,然后在仍在设计视图中时,单击功能区上的“运行”。(寻找红色的解释点。)

如果要从代码中完成,可以使用.ExecuteDAO 数据库对象或 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

我认为 name 字段是(或DBVarChar中的某个字符串值)所以它的意思是你的查询应该是

 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 回答