vb5 写的程序在两台win2000下可以正确在datagrid中显示.mdb数据库,通过data控件连接,在win98机器中datagrid无法显示数据,为什么?
 Set My_Database = OpenDatabase(App.Path + "\TR.mdb")
  Set rstRecorder = My_Database.OpenRecordset("Recorder", dbOpenDynaset)
  Set frmRecorder.Data1.Recordset = rstRecorder
  frmRecorder.show

解决方案 »

  1.   

    set datagrid.datasource =data1
      

  2.   

    在2000下可以說明程式寫的沒有錯誤,應該在98下正確安裝,必須裝MDAC_TYP.EXE數據包!!
      

  3.   

    安装mdac2.6驱动
    http://download.microsoft.com/download/dasdk/Install/2.60.6526.3/WIN98Me/EN-US/MDAC_TYP.EXEhttp://www.cclis.com/download.asp
    Microsoft MDAC支持程序
      

  4.   

    谢谢各位,我想安装mdac试探一下
    set datagrid.datasource =data1 这句已经手工设置过了
      

  5.   

    试试之个
    Public RS As New ADODB.Recordset
    Public AdoCnn As New ADODB.Connection
    Private Sub Form_Load()
       ' sutra
       CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\学生.mdb;Persist Security Info=False"
         If AdoCnn.State = 0 Then AdoCnn.Open CnStr
       Set RS = Nothing
       Show_DataGrid       
    End SubSub Show_DataGrid() '这个过程把整张表读出来
         DataGrid1.Font.Size = 12
       If RS.State = 1 Then RS.Close: Set RS = Nothing
       AdoCnn.CursorLocation = adUseClient
       RS.Open "select * from[学生] order by 学号asc", AdoCnn, adOpenStatic, adLockOptimistic
       Set DataGrid1.DataSource = RS
       DataGrid1.Refresh
    End Sub
      

  6.   

    但是, 我用的是 dao,也要这个mdac 吗
      

  7.   

    如果用的是DAO,MDAC,因为VB5.0以以来,DAO就没有升级过.
      

  8.   

    我下载并安装了mdac-type.exe,还是显示不了,为空白datagrid
    有谁碰到在2000下和98连接数据库的这种问题?
      

  9.   

    安装了mdac-type.exe,用ADO连接试一下
      

  10.   

    我不希望用ADO连接
    在家里的有vb6的win98机器上可以运行并显示所有数据
    看来不全是98的问题
      

  11.   

    安装最新版的MDAC_TYP.EXE 2.5以上
      

  12.   

    我来也:
    Public RS As New ADODB.Recordset
    Public AdoCnn As New ADODB.Connection
    Private Sub Form_Load()
       ' sutra
       CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\学生.mdb;Persist Security Info=False"
         If AdoCnn.State = 0 Then AdoCnn.Open CnStr
       Set RS = Nothing
       Show_DataGrid       
    End SubSub Show_DataGrid() '这个过程把整张表读出来
       AdoCnn.CursorLocation = adUseClient
       RS.Open "select * from[学生] order by 学号asc", AdoCnn, adOpenStatic, adLockOptimistic
       Set DataGrid1.DataSource = RS
       DataGrid1.Refresh
    End Sub
      

  13.   

    谢谢 qscandwh(AlbertEinstein)  的再次答复,我想这些代码很有用。
    我发现在一些98机器上(已有access2000,但不识别我的.mdb文件,是dao360)安装一个dao350安装包后,所有数据显示正常。而在另外一些98机器上install 这个相同的安装包后,datagrid 架构出来了,却没数据。
    记得以前下载并install的MDAC_TYP.EXE 是2.5以上的,但仍然希望问题是出在这里。
      

  14.   

    怀疑问题出在 ACCESS2000 不识别 access97格式的.mdb 文件。
    有access2000 的机器带 dao360 的98 在安装 dao350 安装包后,多了个350就正常显示 数据。另一些 不正常的是不是 少了 msjet35.dll?
      

  15.   

    总算找到原因了,是少了 VB5DB.DLL ,下了个 .exe 安装后解决。害四我了,信誉分还可能因此帖未结,又少三分。