Sub 単価転送()
Dim DBpath As String
Dim adoCn As Object
Dim strSQL As String
Dim i As Long
Dim ws_2 As Worksheet
Set ws_2 = Worksheets("転送用シート")
maxR2 = ws_2.Cells(Rows.Count, "A").End(xlUp).Row
Set adoCn = CreateObject("ADODB.Connection")
DBpath = ThisWorkbook.Path & "\0715単価管理.accdb"
adoCn.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & DBpath & ";"
With ws_2
i = 2
Do Until .Cells(i, "K") = ""
strSQL = "UPDATE Q_test2 SET 仕入=" & .Cells(i, "I") & " WHERE 合成キー ='" & .Cells(i, "K").Value & "'"
adoCn.Execute strSQL
i = i + 1
Loop
End With
adoCn.Close
Set adoCn = Nothing
End Sub
上記のコードでExcelから、ACCESSのフィールドを更新しています。
上記のコードは、Windows10なら、作動します。
しかし、Windows11では、作動しません。
adoCn.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & DBpath & ";"
この部分でエラーがでます。
ファイル名が正しくありませんと表示されます。
どのように修正すればいいでしょうか?
ネットで調べても、わかりませんでした。
教えてくいただけますか?
お願いします
なので、とりあえずファイル名が正しいのか(VBAが正しくファイルを認識できているのか)調べてみては?
また、Accessファイルを単純な場所において直接指定して実行できるのか確認してみるのもいいと思います
hiroton様 回答ありがとうございました。
ファイル名は認識されていませんでした。
絶対パスなら認識されました。
回答ありがとうございました。
hiroton様
返信遅くなりまして申し訳ございません。