如何实现vb中组合框的下拉列表项目与ACCESS数据库相应表的链接?
有一个文本框和一个组合框,就是说我选中组合框中的哪个项目,就能将文本框中的内容存储到相应的表中,组合框的项目名就是对应的表名!有三十六个表
表名有PBM01,PBM02,PBM03,PBM0K,PBM1C,PBM00,PBM04,PBM05,PBM06,PBM07,PBM08,PBM09,PBM0A,PBM0B,PBM0C,PBM0D,PBM0E,PBM0F,PBM0G,PBM0H,PBM0L,PBM0M,PBM0N,PBM0P,PBM0Q
PBM0R,PBM0S,PBM0T,PBM0U,PBM0V,PBM0W,PBM1A,PBM1D,PBM1G,PBM2T,PBM0J
请高手帮忙指点一下,急用!!! 展开
推荐于2016-04-09 · 知道合伙人软件行家
实现VB6.0中组合款的下拉列表项目与ACCESS数据库相应表关联步骤:
通过选择“工程”菜单中的“引用...”来为 ADO 对象库添加一个引用,然后在“引用...”对话框中选择 Microsoft ActiveX Data Objects 2.0 Library
点上图确定。工程就引用了ADO。
实现代码:
Private Sub Form_Load()
Dim adoCN As New ADODB.Connection '定义数据库的连接
Dim rstSchema, out
Dim I As Integer
str1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wd.MDB;Persist Security Info=False"
adoCN.Open str1
Set rstSchema = adoCN.OpenSchema(adSchemaTables)
Do Until rstSchema.EOF
If rstSchema!TABLE_TYPE = "TABLE" Then
Combo1.AddItem rstSchema!TABLE_NAME
I = I + 1
End If
rstSchema.MoveNext
Loop
rstSchema.Close
adoCN.Close
End Sub
这个显然要用ADO
1、连接数据库,得到连接对象conn
2、用下面的select语句打开表,将数据读入RecordSet
set rs=conn.execute("select * from 表名")
3、用循环将数据读入二维数组arr
row=0
while not rs.eof
arr[row,0]=rs["id"]
arr[row,1]=rs["year"]
arr[row,2]=rs["mon"]
arr[row,3]=rs["1"]
arr[row,4]=rs["2"]
...
...
...
row=row+1
wend
ACCESS数据库名为"学生.mdb"其中有张数据库表名为"表",下面就介绍如何使用代码进行连接到数据库"学生",代码如下:
Function Connection() As String
'数据库的连接字符设置
Connection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path + "\学生.mdb"
End Function
数据库"学生.mdb"在当前目录下,故使用APP.Path
Private Sub Form_Load()
Dim mr As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim Sql As String
Sql="select * from 表"
cnn.Open Connection '使用cnn对象打开数据库连接
mr.Open Sql, cnn, adOpenKeyset, adLockOptimistic
'打开数据库记录
If mr.eof then
msgbox "数据库表为空!"
else
msgbox "数据库表不为空!"
end if
set mr=nothing
'关闭记录对象
set cnn=nothing
'关闭连接对象
End Sub
OK,程序到此,已经能成功地访问数据库了,并能打开数据库中的表
2011-01-12