>>以下的代码放在一个模块中,例如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
rs.movefirst
while not rs.eof
combobox.additem rs("filedname")
rs.movenext
wend
do while not rs.eof
combobox.additem rs("filedname")
combobox.ItemData(Combobox.NewIndex) = rs("id")
rs.movenext
loop试一下。
http://www.csdn.net/Expert/TopicView1.asp?id=823244
我到现在还不知道怎么搞呢??
NetMan1999(NetMan1999) 你能把完全的代码贴出来吗
这里定义的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
这句是什么意思啊,我每次运行的时候都会先跳出个对话框“错误”
点了确定后,combo里面还是数据库的第一项阿
出现错误的话你调试以下,看错误是什么?
在运行上面一端程序的时候,ACCESS不能是2000的,除非你安装了SP5
While Not objResult.EOF
c.additem objResult("filedname")
objResult.MoveNext
wend
While Not objResult.EOF
c.additem objResult("filedname")
objResult.MoveNext
Wend