如何使用正确的驱动程序为 w10 64 位 ms-access odbc 创建用户 dsn
How to create user-dsn with correct driver for w10 64bit ms-access odbc
我正在关注“Access 2016 Programming By Example With vba、xml and ASP这本书。这本书教我 VBA,我仍然菜鸟。本章介绍了设置用户 dns 的基础知识。这个用户 dns 将由 ms-access vba 用户通过这个用户 dns 连接到一个 .dbf 文件。我在Windows 10 64bit with office 2016 64 bit. 书中的代码导致错误:'the driver architecture and the application do not align with the DNS'. Google 书中也没有提供合适的解决方案。我认为它有一些东西用Windows或Office的bit版本做。请指教。
书中提到了下面的代码,并描述了打开配置屏幕、odbc、用户 dns、select "Microsoft dBase driver (*.dbf) name it "MyDbaseFile" 并完成。
与book和Windows10的区别在于ODBC设置有两种windows,一种32位,一种64位。只有在32位window内,才能找到描述的驱动名称。在 64 位 window 中我找不到它。这本书只描述了一个 window 所以我认为那是基于 W7 或其他东西。
本书总代码:
Sub Open_AndRead_dBaseFile()
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=MSDASQL;DSN=MyDbaseFile;"
Debug.Print conn.ConnectionString
Set rst = New ADODB.Recordset
rst.Open "CUSTOMER.dbf", conn
Do Until rst.EOF
Debug.Print rst.Fields(1).Value
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
conn.Close
Set conn = Nothing
End Sub
希望在 VBA 编辑器中立即 window 显示 customer.dbf 的内容。如前所述,错误消息上升,这与代码行一起上升:
conn.Open "Provider=MSDASQL;DSN=MyDbaseFile;"
重新安装 office 32 位,现在工作得很好。
我正在关注“Access 2016 Programming By Example With vba、xml and ASP这本书。这本书教我 VBA,我仍然菜鸟。本章介绍了设置用户 dns 的基础知识。这个用户 dns 将由 ms-access vba 用户通过这个用户 dns 连接到一个 .dbf 文件。我在Windows 10 64bit with office 2016 64 bit. 书中的代码导致错误:'the driver architecture and the application do not align with the DNS'. Google 书中也没有提供合适的解决方案。我认为它有一些东西用Windows或Office的bit版本做。请指教。
书中提到了下面的代码,并描述了打开配置屏幕、odbc、用户 dns、select "Microsoft dBase driver (*.dbf) name it "MyDbaseFile" 并完成。
与book和Windows10的区别在于ODBC设置有两种windows,一种32位,一种64位。只有在32位window内,才能找到描述的驱动名称。在 64 位 window 中我找不到它。这本书只描述了一个 window 所以我认为那是基于 W7 或其他东西。
本书总代码:
Sub Open_AndRead_dBaseFile()
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Set conn = New ADODB.Connection
conn.Open "Provider=MSDASQL;DSN=MyDbaseFile;"
Debug.Print conn.ConnectionString
Set rst = New ADODB.Recordset
rst.Open "CUSTOMER.dbf", conn
Do Until rst.EOF
Debug.Print rst.Fields(1).Value
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
conn.Close
Set conn = Nothing
End Sub
希望在 VBA 编辑器中立即 window 显示 customer.dbf 的内容。如前所述,错误消息上升,这与代码行一起上升:
conn.Open "Provider=MSDASQL;DSN=MyDbaseFile;"
重新安装 office 32 位,现在工作得很好。