Windows Vista上的MSDataShape

时间:2009-02-26 20:45:44

标签: database ms-access vba windows-vista

我与一个实现MSDataShape的访问数据库建立了连接,该数据库在Windows XP上完美运行,现在当我尝试在Windows Vista上运行它时,我发现错误。

vista上的错误:

  

错误#-2147467259        [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

相同的代码在干净的xp安装中完美运行。

什么是大秘密?

2 个答案:

答案 0 :(得分:1)

我在Vista和Access 2000上测试了它,它对我有用。我有最新的Jet版本,应该安装Vista。

Private Sub Form_Open(Cancel As Integer)
    Set cn = New ADODB.Connection
    With cn
        .Provider = "MSDataShape"
        .CursorLocation = adUseClient
        .ConnectionString = "DATA PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
         & "DATA SOURCE=c:\docs\ltd.mdb"
        .Open
    End With

    Set rs = New ADODB.Recordset

    With rs
        .Source = "SELECT * From Table1"
        .ActiveConnection = cn
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
        .Open
    End With

    Set Me.Recordset = rs
    Me.UniqueTable = "Table1"

End Sub

参考文献:http://support.microsoft.com/kb/227053/EN-US/ http://support.microsoft.com/kb/239114/en-us

答案 1 :(得分:1)

要检查的一些事项:

  • 您正在使用ODBC,是否确定在XP计算机上使用的ODBC数据源完全相同?

  • 如果您使用的是64位操作系统,则需要创建一个32 bit ODBC数据源,64位ODBC数据源对于Access是不可见的,这是一个32位应用程序。

    < / LI>
  • 确保安装了正确的Jet数据库驱动程序。如果您使用Access 2007,则这些将是Access Database Engine component