Excel データを Access にプッシュするマクロを作成しようとしています。もともとは、Access をオブジェクトとして開き、そのように実行するように単純に書いたのですが、恐ろしく遅くなりました。だから今、私はADO接続を使用するように書いています。現在のファイル以外のファイルから書き込むと動作しますが、これはリボン ボタンであり、現在のファイルのみを使用するため、動作させる必要があります。以下は私のコードです。私が得るエラーは次のとおりです。
実行時エラー -2147217911 (80040e09) 更新できません。データベースまたはオブジェクトが読み取り専用です。
Excelファイルを更新していないので、これはばかげていますが、Microsoft. 何かご意見は?
Transfers2 = ActiveWorkbook.FullName & "].[" & ActiveSheet.Name & "$]"
'C:\temp\ContractToolSetV2.xlsm].[Sheet1$] - this would work, since it is not the file open
Dim con As Object ''Create ADODB Connection
Set con = CreateObject("ADODB.Connection")
SQLcmd = "Insert INTO tblExcelImportCT Select * FROM [Excel 12.0 Xml;Readonly=1;HDR=YES;IMEX=2;ACCDB=YES;DATABASE= " & Transfers2
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\nrpi.local\shared_files\ADCC\Commercial Auction Division\BA Support\BAmangment.accdb;"
con.Execute _
SQLcmd