VB 多用户连接 ACCESS 增删查改 应该用什么方式打开数据库

rt,vb连接 access,十几个人用的。
增删改查获得recordset时分别应该用什么方法?
即增 删 改 查时
rst.open SQL, conn, ?, ?
问号那个地方分别填什么?

不知道你要干什么呢?你是要知道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 从来没有写过!我是单用户!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-08
2,3
是枚举常量。表示光标类型和读写类型。追问

查找时是读,增删改是写,读写用的方式应该是不一样的吧?

追答

读写连接方式相同,关键是不要用到readonly就行了。

追问

是不是readonly是在什么地方设置的

追答

adOpenDynamic, adLockOptimistic
就是在这两个参数中体现的。
2,3,是可以的。记不住名字。在IDE中有提示。

相似回答