RS是一个结果集,从你的叙述来看,应该是对ACCESS数据库的查询结果,这段程序的意思就是根据这个查询结果,把其中的"fielname"字段的内容显示在combobox中。

解决方案 »

  1.   

    你这样试试:呵呵
    rs.movefirst
    while not rs.eof
        combobox.additem rs("filedname")
        rs.movenext
    wend
      

  2.   

    rs.movefirst
    do while not rs.eof
        combobox.additem rs("filedname")
        combobox.ItemData(Combobox.NewIndex) = rs("id")
        rs.movenext
    loop试一下。
      

  3.   

    你的rs在那里定义和生成的?把RS初始化的程序贴出来嘛
      

  4.   

    RS是你在查询ACCESS的那段程序
      

  5.   

    这段代码是另一位高手告诉我的
    http://www.csdn.net/Expert/TopicView1.asp?id=823244
    我到现在还不知道怎么搞呢??
    NetMan1999(NetMan1999) 你能把完全的代码贴出来吗
      

  6.   

    >>以下的代码放在一个模块中,例如db.bas
    这里定义的objResult 和你提到的RS一样,不过它是全局变量
    '全局变量
    '-------
    Public objWorkSpace As Workspace
    Public objDataBase As Database
    Public objResult As Recordset'连接数据库
    '---------
    Public Function StartConnection(ByVal strDataBaseName As String, ByRef strErrMsg As String) As Boolean
    On Error GoTo ConnectError:    Set objWorkSpace = DBEngine.CreateWorkspace("No1", "admin", "", dbUseJet)
        Set objDataBase = objWorkSpace.OpenDatabase(strDataBaseName, False, False, "")
        
        StartConnection = True
        
        strErrMsg = "连接ACCESS数据库成功!"
        Exit Function
        
    ConnectError:
        MsgBox Err.Description
        strErrMsg = "连接ACCESS数据库失败!请检查数据库文件!"
        StartConnection = FalseEnd Function
                                        '断开数据库
    '---------
    Public Function CloseConnection() As Boolean    If Not (objResult Is Nothing) Then
            Call objResult.Close
        End If
        
        If Not (objDataBase Is Nothing) Then
            Call objDataBase.Close
        End If
        
        If Not (objWorkSpace Is Nothing) Then
            Call objWorkSpace.Close
        End If
        
    End Function
    '执行指定的SQL语句
    '----------------
    Public Function QuerySQL(ByVal strSQL As String, ByRef strErrMsg As String) As BooleanOn Error GoTo QueryError:    Set objResult = objDataBase.OpenRecordset(strSQL, dbOpenDynaset)
        strErrMsg = "查询成功完成!"
        QuerySQL = True
        Exit Function
        
    QueryError:    strErrMsg = "查询失败,请检查SQL语句!"
        QuerySQL = FalseEnd Function>>以下的代码放到一个窗体的load事件中:
    Private Sub Form_Load()    Dim strError As String
        Dim strDataBase As String
        Dim bolResult As Boolean
        
        bolResult = StartConnection("c:\A.mdb", strError)
        If bolResult = False Then MsgBox strError
        
        '假定打开C盘根目录下的A。MDB的ACCESS文件,访问里面的一个表B,将B表中的字段filename的内容显示在combox中;在窗体中建立一个名为c的combox控件
        
          Dim strSQL As String
          strSQL = "Select filename from b"
          bolResult = QuerySQL(strSQL, strError)
          If bolResult = False Then
                msgbox "失败"
                exit sub
          End If
        
        objResult.MoveFirst
        While Not objResult.EOF
            c.additem rs("filedname")
            objResult.MoveNext
        Wend    
     
    '然后断开数据库连接End Sub
      

  7.   

    bolResult = QuerySQL(strSQL, strError)
    这句是什么意思啊,我每次运行的时候都会先跳出个对话框“错误”
    点了确定后,combo里面还是数据库的第一项阿
      

  8.   

    bolResult = QuerySQL(strSQL, strError)语句是执行一条SQL语句,将结果返回到全局变量的结果集变量中,如果出错则将错误信息返回给strError;
    出现错误的话你调试以下,看错误是什么?
    在运行上面一端程序的时候,ACCESS不能是2000的,除非你安装了SP5
      

  9.   

    哦,上面程序有小笔误:    objResult.MoveFirst
        While Not objResult.EOF
            c.additem objResult("filedname")
            objResult.MoveNext
        wend
      

  10.   

    上面程序有点小笔误:    objResult.MoveFirst
        While Not objResult.EOF
            c.additem objResult("filedname")
            objResult.MoveNext
        Wend