liujiping 发表于 2003-7-15 00:48:00

VBA与数据库的连接

VBA中没有DATA控件,数据库不好处理。有没有什么好的办法读取数据库,并修改。还是能从什么地方调出DATA控件?请各位多多指点。
另外,还有一个VB的问题,我用的DATA控件,属性CONNECT /EXCEL8.0,DATABASE/相应的路径 ,但在点RECORDERSOURCE时,提示不能用,请问还有什么控制影响它的连接?

武文弄墨 发表于 2003-7-15 09:38:00

使用ado吧,在vba里面,通过ado操作数据库,是最常见的方法

liujiping 发表于 2003-7-16 11:30:00

能具体点吗,或什么地方有相关内容?

topirol 发表于 2003-7-17 23:11:00

买VB的书看就可以了

bluemoon 发表于 2003-7-22 09:01:00

vba的书也可以阿

gzy 发表于 2003-9-22 21:59:00

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

freefox 发表于 2003-10-7 13:39:00

为什么在连接数据库的时候会有“引索错误”的提示呢?

gzy 发表于 2003-10-7 15:44:00

你的问题我不大清楚,多设几个断点看看问题到底出在哪里。
页: [1]
查看完整版本: VBA与数据库的连接