工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False" CN.Open Rs.CursorLocation = adUseClient Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic Set DataGrid1.DataSource = Rs
你用Jet 4.0 OLE DB Provider试试。
先引用Microsoft ActiveX Data Objects 2.7 LibraryPrivate Sub Form_Load() Dim conn As Connection Set conn = New ADODB.Connection conn.CursorLocation = adUseClient conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb" '连接成功 End Sub
Option Explicit'功能简介:建立本地数据库公共链接 '参数一:MDB数据库地址路径 '返回值:"ok"--成功 Function PulbicMdbConn(ByVal StrPath As String) As String On Error GoTo MdbConnErr Dim StrSQl As String StrSQl = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & StrPath & ";Persist Security Info=False" If MdbConn.State <> 0 Then MdbConn.Close MdbConn.Open StrSQl PulbicMdbConn = "ok" Exit Function MdbConnErr: PulbicMdbConn = Err.Description If MdbConn.State <> 0 Then MdbConn.Close: Set MdbConn = Nothing End Function'功能简介:关闭本地数据库公共链接 Function PublicMdbClose() If MdbConn.State <> 0 Then MdbConn.Close: Set MdbConn = Nothing End Function
ADO连接: 工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)Option ExplicitDim WithEvents adoRS As Recordset Dim db As Connection '提数据事件 Set db = New Connection db.CursorLocation = adUseClient db.Open"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db1.mdb;Jet OLEDB:Database Password=1234;" ' ########################################## '打开密码是1234的Access2000数据库db1.mdb '不需要密码,就把Jet OLEDB:Database Password=1234;这段去掉 Set adoRS = New Recordset
adoRS.Open "SELECT * FROM 表", db, adOpenStatic, adLockOptimistic '赋值给 DataGrid 表 Set DataGrid1.DataSource = adoRS '表刷新 DataGrid1.Refresh '添加事件和保存 adoRS.AddNew '保存 adoRS![字段a] = text1.Text adoRS![字段b] = text2.Text adoRS.UpdateBatch adAffectAll'删除 adoRS.Delete '重新赋值给表 adoRS.Requery Set DataGrid1.DataSource = adoRS DataGrid1.Refresh '其他相关操作: '上一条 If Not adoRS.BOF Then adoRS.MovePrevious If adoRS.BOF And adoRS.RecordCount > 0 Then '已到最后返回 adoRS.MoveFirst End If '下一条 If Not adoRS.EOF Then adoRS.MoveNext '下一条 If adoRS.EOF And adoRS.RecordCount > 0 Then '已到最后返回 adoRS.MoveLast End If '第一条 If Not adoRS.BOF Then adoRS.MoveFirst '最末 If Not adoRS.EOF Then adoRS.MoveLast
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
CN.Open Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic Set DataGrid1.DataSource = Rs
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb"
'连接成功
End Sub
我用data控件的时候就不能了用access2000 建一个库和表,例如 db1 table1在vb6中建一个标准工程,在form1中建一个data控件 data1
在
data1的databasename属性中设为上述的 db1然后要设置 data1的 recordsorce 属性时就出现错误了
'参数一:MDB数据库地址路径
'返回值:"ok"--成功
Function PulbicMdbConn(ByVal StrPath As String) As String
On Error GoTo MdbConnErr
Dim StrSQl As String
StrSQl = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & StrPath & ";Persist Security Info=False"
If MdbConn.State <> 0 Then MdbConn.Close
MdbConn.Open StrSQl
PulbicMdbConn = "ok"
Exit Function
MdbConnErr:
PulbicMdbConn = Err.Description
If MdbConn.State <> 0 Then MdbConn.Close: Set MdbConn = Nothing
End Function'功能简介:关闭本地数据库公共链接
Function PublicMdbClose()
If MdbConn.State <> 0 Then MdbConn.Close: Set MdbConn = Nothing
End Function
现在没有那张盘了,在网上down的也只有一个,所以安装后连access2000总是连不上。
我估计问题就在还少两个没装。其中一个就是有个数据的。
不要听他们说,什么ado不是data,什么连接不对,什么sp5,绝对不是那些原因。
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)Option ExplicitDim WithEvents adoRS As Recordset
Dim db As Connection
'提数据事件
Set db = New Connection
db.CursorLocation = adUseClient
db.Open"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\db1.mdb;Jet OLEDB:Database Password=1234;"
' ##########################################
'打开密码是1234的Access2000数据库db1.mdb
'不需要密码,就把Jet OLEDB:Database Password=1234;这段去掉 Set adoRS = New Recordset
adoRS.Open "SELECT * FROM 表", db, adOpenStatic, adLockOptimistic
'赋值给 DataGrid 表
Set DataGrid1.DataSource = adoRS
'表刷新
DataGrid1.Refresh
'添加事件和保存
adoRS.AddNew
'保存
adoRS![字段a] = text1.Text
adoRS![字段b] = text2.Text
adoRS.UpdateBatch adAffectAll'删除
adoRS.Delete
'重新赋值给表
adoRS.Requery
Set DataGrid1.DataSource = adoRS
DataGrid1.Refresh '其他相关操作:
'上一条
If Not adoRS.BOF Then adoRS.MovePrevious
If adoRS.BOF And adoRS.RecordCount > 0 Then
'已到最后返回
adoRS.MoveFirst
End If
'下一条
If Not adoRS.EOF Then adoRS.MoveNext '下一条
If adoRS.EOF And adoRS.RecordCount > 0 Then
'已到最后返回
adoRS.MoveLast
End If
'第一条
If Not adoRS.BOF Then adoRS.MoveFirst
'最末
If Not adoRS.EOF Then adoRS.MoveLast