我正在尝试向表单添加一个按钮,以将表单的内容添加为表格中的新行。这行代码我以前写过,但是这次不行。
我的表单包含文本和整数。加载表单时,会自动填充表单上的 3 个框。 (自动填充的框会改变什么吗?)
我没有尝试让整个字符串工作,而是减少了代码,只添加一个框(自动填充的框之一)。我收到 rune 时错误“438”:对象不支持此属性或方法。
我尝试用谷歌搜索该错误,但找不到任何适用的内容。
代码如下:
Dim strInsert As String
strInsert = "INSERT INTO NLog(IDKEY) " & _
" Values(" & Me.TxtIdKey & ")"
Debug.Print strInsert
CurrentProject.Execute strInsert, dbFailOnError
MsgBox ("Entry Added")
当我查看调试屏幕时,它显示以下内容: 插入 NLog(IDKEY) 值(OH08801405)
我好郁闷啊!我对此还很陌生,感觉完全不适应。
最佳答案
您可以像这样使用 ADO 执行 INSERT
语句...
CurrentProject.Connection.Execute strInsert
注意 CurrentProject.Connection.Execute
,而不是 CurrentProject.Execute
,并且从 ADO 执行时不要包含 DAO 常量 dbFailOnError。
或者像这样使用 DAO ...
CurrentDb.Execute strInsert, dbFailOnError
此外,您还尝试将文本值插入到 IDKEY 字段中。假设文本是该字段的正确数据类型,请在您要插入的值周围添加引号...
strInsert = "INSERT INTO NLog(IDKEY) " & _
" Values('" & Me.TxtIdKey & "')"
然后您应该看到与此类似的 Debug.Print
输出...
INSERT INTO NLog(IDKEY) Values('OH08801405')
如果OH08801405周围没有引号,数据库引擎将不会理解它应该是应该插入的字符串值,而是会假设它是您尚未提供值的参数.
关于sql - 使用 Access 的 VBA 追加查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27987736/