Private Sub Form_Load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
ConnectString = "FileDSN=stu1.dsn;UID=sa;PWD="
conn.Open ConnectString
sql = "select 图书名 from 图书"
Set rs = conn.Execute(sql)
Set DataCombo1.RowSource = rs
DataCombo1.ListField = "图书名"
为什么是空的呢
End Sub

解决方案 »

  1.   


    正常,看我下面的例子,建议你 MsgBox Rs.RecordCount出来看是否有数据集合
    Public Rs As New ADODB.Recordset
    Public Conn As New ADODB.ConnectionPrivate Sub Form_Load()
      Dim strConn As String
      strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=Localhost"
      Conn.CursorLocation = adUseClient
      Conn.Open strConn
      
      If Rs.State <> adStateClosed Then Rs.Close
      Rs.Open "select au_lname from authors", Conn, adOpenStatic, adLockOptimistic
      MsgBox Rs.RecordCount   With Me.DataCombo1
         Set .RowSource = Rs
         .ListField = "au_lname"
       End With
      
    End Sub
      

  2.   

    这个问题我昨天也提问过过,已经得到了解决。你可以看看。
    http://community.csdn.net/Expert/topic/4484/4484048.xml?temp=.6397058很感谢CSDN的朋友给我的帮助。
      

  3.   

    需要设置客户端游标:......
    rs.CursorLocation=adUseClient '<-------------设置客户端游标
    Set rs = conn.Execute(sql)
    ......
      

  4.   

    上面写错了,改这里......
    ConnectString = "FileDSN=stu1.dsn;UID=sa;PWD="
    conn.CursorLocation = adUseClient   '<-------------设置客户端游标
    conn.Open ConnectString
    ......
      

  5.   

    to: daisy8675(莫依 MS MVP-VB) 
    我晕,几个月不来,都变4星上将啦?