如何使用Excel VBA插入Office 365 Access数据库
我最近升级到office 365,现在发现自己正在尝试使用excel VBA从excel工作表插入Access数据库。以下是我尝试使用的VBA代码:如何使用Excel VBA插入Office 365 Access数据库,excel,ms-access,vba,Excel,Ms Access,Vba,我最近升级到office 365,现在发现自己正在尝试使用excel VBA从excel工作表插入Access数据库。以下是我尝试使用的VBA代码: Sub ExportDataToAccess() Dim cn As Object Dim strQuery As String Dim myDB As String Dim creditDate As Date Dim regionalTeam As String 'Initialize Va
Sub ExportDataToAccess()
Dim cn As Object
Dim strQuery As String
Dim myDB As String
Dim creditDate As Date
Dim regionalTeam As String
'Initialize Variables
creditDate = Worksheets("Treasury").Range("E20").Value
regionalTeam = Worksheets("Treasury").Range("e21").Value
myDB = "Y:\Credit DB\Credit.accdb"
Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0" 'For *.ACCDB Databases
.ConnectionString = myDB
.Open
End With
strQuery = "INSERT INTO Credit ([creditDate], [regionalTeam]) " & "VALUES (""" & creditDate & """, " & regionalTeam & ");"
cn.Execute strQuery
cn.Close
Set cn = Nothing
End Sub
运行此子例程时,会收到以下错误消息:
运行时错误:没有为一个或多个必需参数提供值
我试着用谷歌搜索错误信息,但运气不太好。谁能告诉我我在哪里迷路了?我还确认creditDate和regionalTeam具有有效值。我应该补充一点,cn.Execute strQuery似乎是突出显示的有问题的代码
感谢您的输入。格式化日期表达式:
strQuery = "INSERT INTO Credit ([creditDate], [regionalTeam]) VALUES (#" & Format(creditDate, "yyyy\/mm\/dd") & "#, " & regionalTeam & ");"
或者,如果团队是文本:
strQuery = "INSERT INTO Credit ([creditDate], [regionalTeam]) VALUES (#" & Format(creditDate, "yyyy\/mm\/dd") & "#, '" & regionalTeam & "');"
你的报价有点奇怪。例如,为什么报价日期?如果使用参数查询,生活会变得容易得多。此外,使用ADO和Excel可能会导致相当严重的内存泄漏。刀往往是更好的选择。