VBA与数据库的连接
VBA中没有DATA控件,数据库不好处理。有没有什么好的办法读取数据库,并修改。还是能从什么地方调出DATA控件?请各位多多指点。另外,还有一个VB的问题,我用的DATA控件,属性CONNECT /EXCEL8.0,DATABASE/相应的路径 ,但在点RECORDERSOURCE时,提示不能用,请问还有什么控制影响它的连接? 使用ado吧,在vba里面,通过ado操作数据库,是最常见的方法 能具体点吗,或什么地方有相关内容? 买VB的书看就可以了 vba的书也可以阿 Private Sub UserForm_initialize()
Dim wr As Workspace
Dim db As Database
Dim dl As Recordset
Set wr = CreateWorkspace("", "admin", "", dbUseJet)
Set db = wr.OpenDatabase("d:\bzj\db1.mdb", False, True, "")
Set dl = db.OpenRecordset("bzj", dbOpenDynaset, dbReadOnly)
Do
If dl.EOF = False Then
dlk.AddItem dl.Fields("dalei").Value
dl.MoveNext
Else
Exit Do
End If
Loop
dlk.Value = dlk.List(0)
End Sub
Private Sub dlk_change()
xlk.Clear
Do
'收索记录集,后面为一定位记录的字符串表达式,
dl.FindFirst " like'" & dlk.Value & "'" '???????????
'dl.Seek "=", " & dlk.Value & "
'如果没有一个匹配条件的记录被定位,则当前记录指针是不确定的,而Nomatch属性 _
被设置为True,经常检查NoMatch属性的值可以确定Fine操作是否成功. _
如果收索成功,则Nomatch被设置为flase,失败则为True,且当前记录没有定义,在 _
这种情况下,必须把当前指针置回一个正确记录位置,
If dl.NoMatch = False Then
Set xl = db.OpenRecordset(dl.Fields("no"), dbOpenDynaset, dbReadOnly)
Exit Do
Else
dl.MoveNext
End If
Loop
xlk.Value = xl.Fields("xiaolei")
Do
If xl.EOF = False Then
xlk.AddItem xl.Fields("xiaolei").Value
xl.MoveNext
Else
Exit Do
End If
Loop
End Sub 为什么在连接数据库的时候会有“引索错误”的提示呢? 你的问题我不大清楚,多设几个断点看看问题到底出在哪里。
页:
[1]