在VB中建Form,用其自带的VB Data Form Wizard模板,直接选Access类型,但不能识别
Access2000数据库;如何解决?
引用ADO
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
删除后需要刷新
如果是用向导生成的程序,你可以看看它的代码。你将ACCESS2000转成ACCESS97版,用向导生成一个程序,然后将其中的连接的代码中“Provider=Microsoft.Jet.OLEDB.3.51”改为“Provider=Microsoft.Jet.OLEDB.4.0”。这样它就可以访问ACCESS2000。你可以查看它的其它代码,如下
Private Sub cmdDelete_Click()
On Error GoTo DeleteErr
With adoPrimaryRS
.Delete
.MoveNext
If .EOF Then .MoveLast
End With
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub
可以考虑用service 5补丁
这样的话
无论是ADO、DAO
还是ADO控件、DATA控件
都可以访问ACCESS2000数据库
这是因为老版本的data控件老版本的jet引擎只能识别97版的access文件,2000版的不能识别。
两种方法解决:
1.安装VB的补丁程序SP5.
下载地址:http://www.dapha.net/down/list.asp?id=1353
2.将2000版的转换成97版的。
打开access--->"工具"-->“数据库实用工具”-->“转换数据库”