Microsoft Access 掲示板

Excelから、ACCESSの更新について

3 コメント
views
4 フォロー
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 & ";"

この部分でエラーがでます。
ファイル名が正しくありませんと表示されます。

どのように修正すればいいでしょうか?
ネットで調べても、わかりませんでした。

教えてくいただけますか?
お願いします

しん
作成: 2024/07/23 (火) 17:52:07
通報 ...
1
hiroton 2024/07/24 (水) 09:00:50 0f429@f966d

ファイル名が正しくありません

なので、とりあえずファイル名が正しいのか(VBAが正しくファイルを認識できているのか)調べてみては?
また、Accessファイルを単純な場所において直接指定して実行できるのか確認してみるのもいいと思います

Debug.Print DBpath
Debug.Print "FileName = "; Dir(DBpath)
If Dir(DBpath) = "" Then MsgBox "ファイルを認識できません"

DBpath = "C:Data\0715単価管理.accdb"
adoCn.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & DBpath & ";"
2
しん 2024/07/28 (日) 10:08:12 051ad@9fff4

hiroton様 回答ありがとうございました。
ファイル名は認識されていませんでした。
絶対パスなら認識されました。
回答ありがとうございました。

3
しん 2024/07/28 (日) 10:08:38 051ad@9fff4

hiroton様
返信遅くなりまして申し訳ございません。