不知道你要干什么呢?你是要知道VB连接数据库方法,还是连接后怎么操作?
如果是连接的话,我给你例子,有问题在问;如果是连接后的操作,这就不是一句话就说的清楚了;
一、VB连接2003
Sub AC()
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim qx As String
qx = "金牛"
cnn.Open"Provider=Microsoft.Jet.Oledb.4.0;data Source=" &ThisWorkbook.Path & "\数据库.mdb"
sql = "select * from [宏站] where 区域='"& qx & "'"
'('" & qx & "'")括号里这段有点BT,一定要这样写才行。
rs.Open sql, cnn
'复制字段名
For i = 1 Tors.Fields.Count
Cells(1, i) = rs.Fields(i - 1).Name
Next i
'复制全部数据
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
二、连接2007:
Sub AC()
Dim cnn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim qx As String
qx = "金牛"
cnn.Open "Provider=Microsoft.Ace.OleDB.12.0;dataSource=" & ThisWorkbook.Path & "\数据库.accdb"
sql = "select * from [宏站] where 区域='"& qx & "'"
'('" & qx & "'")括号里这段有点BT,一定要这样写才行。
rs.Open sql, cnn
[a1].CopyFromRecordset rs
EndSub:p�u :>�_���span>
Cells(1, i) = rs.Fields(i - 1).Name
Next i
'复制全部数据
Range("A2").CopyFromRecordset rs
rs.Close
cnn.Close
End Sub
追问不是要怎么连接,你的代码里 rs.Open sql,cnn 这句后面还有一些可选参数的,我问的就是 读数据库和写数据库时,这两个可选参数应该分别填什么
追答执行这句后“rs.Open sql,cnn ” 就执行了
sql = "select * from [宏站] where 区域='"& qx & "'" 这句操作哦!,是读还是定,这句就搞定了呀?
我上面是查寻对吧,如果我要向数据库插入,那么这句就变成了下面类试语句啥:
sql = "
create table TB2(id int,[date] date,[time] time)
insert into TB2 values(1,'2013-06-28','07:52')
insert into TB2 values(2,'2013-06-29','12:00')
"
[a1].CopyFromRecordset rs 这一句我是想把结果放到EXCEL;
追问rs.Open sql, cnn, adOpenDynamic, adLockOptimistic
你的是没指定cnn后面的两个参数的,多用户写的时候你的没问题吗?你的是单用户的吧?
追答adOpenDynamic, adLockOptimistic 从来没有写过!我是单用户!