下面是我的程序,总是提示“对象变量或WITH块变量未设置” 
加上:Set cnn = New adodb.Connection 
Set rs = New adodb.Recordset 
这两句也是不行!!!!!!!!!!! Dim db As Database 
'Dim cnn As Connection 
Dim qd As QueryDef 
Dim rs As Recordset Sub show_data() 
For i = 0 To 4 
Text(i).Text = rs.Fields 
Next 
End Sub Private Sub Command1_Click(Index As Integer) 
Select Case Index 
Case 0 
rs.MoveFirst //////错误提示指这一行:MoveFirst 
show_data 
Case 1 
rs.MovePrevious 
If rs.BOF Then rs.MoveFirst 
show_data 
Case 2 
rs.MoveNext 
If rs.EOF Then rs.MoveLast 
show_data 
Case 3 
rs.MoveLast 
show_data 
Case 4 
End 
Set Form1 = Nothing 
End Select End Sub 
Private Sub Form1_Activate() 
Dim sql_str As String 
On Error GoTo errorexit 
sql_str = "ODBC;UID=saWD=12345;DSN=订单管理DSN" 
Set db = OpenDatabase("authors", dbDriverNoPrompt, False, sql_str) 
Set qd = db.CreateQueryDef("") 
qd.SQL = "select * from authors" 
Set rs = qd.OpenRecordset() 
show_data 
Exit Sub 
errorexit: 
msgbos "无法连接数据库" End Sub

解决方案 »

  1.   

    方法一 在引用一次 ADO
    方法二 添加一个ADO控件,可以把他设置成隐藏  visable=false
      

  2.   

    "rs.MoveFirst   //////错误提示指这一行:MoveFirst   "在用這句前,要先用命令打開数据库,和表
    cnn.open "数据库"
    rs.open "表"
      

  3.   

    同意3楼的看法
    如果你还是不能搞定
    就EMAIL  我,我帮你改好了 在发给你
    [email protected]
      

  4.   

    有必要批评以上回帖的几位同志,你们水平也太高了:
    楼主的程序是用DAO,但他(她)却引用ADODB.
    应该引用Microsoft DAO 3.51 Object Library 或 DAO 3.6 Object Library。
    如果引用DAO 3.6,最好加关键字DAO.
    例如:Dim mDB As DAO.Database  
         Dim oRS As DAO.Recordset
         Set oRS = mDB.OpenRecordset("select version from FinanceDBVersion")   'DAO code
         'rs.fieldname (Access97) which had to be replaced with rs!fieldname.  Or rs.Fields("fieldname") for in Access2000楼主要多多学习!Good Luck!
      

  5.   

    你确认数据库打开了吗?Dim db As DAO.Database   
    Dim rs As DAO.Recordset   Private Sub Form1_Load()   
    Dim   sql_str   As   String   
    On   Error   GoTo   errorexit   
    sql_str   =   "ODBC;UID=saWD=12345;DSN=订单管理DSN "   
    Set db   =   OpenDatabase( "authors", dbDriverNoPrompt, False, sql_str)   
    Set rs   =   db.OpenRecordset("select * from authors")   
    show_data   
    Exit Sub
       
    errorexit:   
    msgbos   "无法连接数据库 "   
    End   SubSub   show_data()   
    For   i   =   0   To   4   
    Text(i).Text   =   rs.Fields(i)   
    Next   
    End   Sub   Private Sub Command1_Click(Index As Integer)   
    Select   Case   Index   
    Case   0   
    rs.MoveFirst   //////错误提示指这一行:MoveFirst   
    show_data   
    Case   1   
    rs.MovePrevious   
    If   rs.BOF   Then   rs.MoveFirst   
    show_data   
    Case   2   
    rs.MoveNext   
    If   rs.EOF   Then   rs.MoveLast   
    show_data   
    Case   3   
    rs.MoveLast   
    show_data   
    Case   4   
    End   
    Set   Form1   =   Nothing   
    End   Select   End   Sub