Private Sub Form_Load()
Dim cn1 As New Connection
Dim rs1 As New Recordset
cn1.ConnectionString = "E:\Documents and Settings\Administrator\My Documents\students.mdb"
cn1.CursorLocation = adUseClient
cn1.Open
rs1.Source = "select * from 成绩"
rs1.ActiveConnection = cn1
rs1.Open
MSHFlexGrid1.DataSource = rs1
End Sub
我使用的是microsoft jet ole db 3.51
为什么,提示odbc未发现什么数据源名称,或名字过长,

解决方案 »

  1.   

    cn1.ConnectionString = "E:\Documents and Settings\Administrator\My Documents\students.mdb"
    这种格式都不对,你看了cn1.connectionstring的用法了没?先改为一下面的,看看
    cn1.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "E:\Documents and Settings\Administrator\My Documents\students.mdb" &";Persist Security Info=False"
    如果是用vb建的数据,那么把上面的4.0改为3.5就行了。
      

  2.   

    你使用得是connectionstring形式,可以使用ADO控件完成楼上得那句连接字符串得生成,看看吧!
      

  3.   

    Option Explicit
    Public MdbConn As New ADODB.Connection'功能简介:建立本地数据库公共链接
    '参数一:MDB数据库地址路径
    '返回值:"ok"--成功
    Function PulbicMdbConn(ByVal StrPath As String) As String
        On Error GoTo MdbConnErr
        Dim StrSql As String
        StrSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & StrPath & ";Persist Security Info=False"
        If MdbConn.State <> 0 Then MdbConn.Close
        MdbConn.Open StrSql
        PulbicMdbConn = "ok"
        Exit Function
    MdbConnErr:
        PulbicMdbConn = Err.Description
        If MdbConn.State <> 0 Then MdbConn.Close: Set MdbConn = Nothing
    End Function'功能简介:关闭本地数据库公共链接
    Function PublicMdbClose()
        If MdbConn.State <> 0 Then MdbConn.Close: Set MdbConn = Nothing
    End Function