2017-03-13 25 views
0

最近オフィス365にアップグレードしましたが、エクセルVBAを使用してExcelシートからAccessデータベースに挿入しようとしています。ここで私が使用しようとしているVBAコードは次のとおりです。Excel VBAを使用してOffice 365 Accessデータベースに挿入する方法

ランタイムエラー:1つの以上の必須パラメータに指定された値がありません私はこのサブルーチンを実行すると

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 

、私は、次のエラーメッセージが表示されます。

Googleにエラーメッセージを表示しようとしましたが、多くの運がありませんでした。誰が私が迷子になったのか教えてくれますか?私はまた、creditDateとregionalTeamが有効な値を持っていることを確認しました。 cn.Execute strQueryが問題のコード(強調表示されている)のように見えることを付け加えておきます。

ありがとうございます。

+1

あなたの引用符は少し奇妙です。たとえば、なぜ引用日ですか?パラメータクエリを使用すると、人生がより簡単になります。さらに、ADOとExcelでかなりのメモリリークが発生する可能性があります。 DAOはより良い選択である傾向があります。 – Fionnuala

答えて

1

フォーマットあなたの日付式:

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 & "');" 
関連する問題