【发布时间】:2018-05-22 16:06:08
【问题描述】:
您好,我正在尝试编写一个宏,该宏从 Excel 表单中获取用户输入并将其添加到访问表中。使用以下代码:
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim wsh As Excel.Application
Set cnn = "db.accdb.connection"
Set rst = New ADODB.Recordset
rst.Open "table", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
With rst
.AddNew
.Fields("column1").Value = textboxvar
.Update
End With
使用之前定义的 textboxvar。但它不起作用,我不知道为什么。
【问题讨论】:
-
这一行:
Set cnn = "db.accdb.connection"毫无意义。你那里有有效的代码,你是想隐藏私人信息(比如你的 accdb 文件的位置和密码),还是你真的想这样做? -
正如@ErikvonAsmuth 提到的
Set cnn = "db.accdb.connection"在这种情况下基本上没有任何意义。您很可能希望将其更改为Set cnn = CreateObject("ADODB.Connection")。为了将来参考,.Open方法要求第二个输入是可变命令对象。 -
Won't work 意味着什么 - 错误消息、错误结果、没有任何反应?