如何使用Excel VBA插入Office 365 Access数据库

如何使用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

我最近升级到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 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可能会导致相当严重的内存泄漏。刀往往是更好的选择。