vb 与 .accdb 格式的access数据库的连接方法

在用vb连接access数据库时,出现了这样的错误

这是你的数据库格式不被 程序识别。vb默认的一般是.,mdb access数据库格式!这时我们看一下我们要连接的

是.accdb 格式的。

看一下代码,我们以前使用的是:

Provider=Microsoft.jet.oledb.4.0

数据库格式发生变化时,连接语法格式就变了:Microsoft office 12.0 access database engine oledb provider 这时连

接字符创立已经有的,我们把它填上以后就成如下错误了。

为什么呢?原因是,.accdb 数据格式不适用jet 引擎连接了。而是:provider=microsoft.ace.oledb.12.0

这样一改就可以连接上了。


o7版以前的access数据库的格式都是.mdb 的,而vb6.0 本身带的数据库格式也是.mdb的,所以大家也都习惯了连

接.mdb格式的access数据库,但是07版以后的数据库格式就成了 .accdb 的了,在连接的过程中可就要做一下改变

了。

总结一下:通常连接数据库我们可以使用下面两种连接方法

添加引用,使用代码连接。

解决如下:

一、引用连接

添加引用,使用代码连接。工程——引用——microsoft activeX data objects 2.5 library

代码窗口中加入:

Dim objcn As NewConnection

Dim objrs As New Recordset

Dim strsql As String

objcn.ConnectionString ="provider=microsoft.ace.oledb.12.0;" & "data source="& App.Path & "\3.accdb" (3为数据库的名字)

objcn.Open

strsql = "select 密码 from 3 where账号='" & username & "'" (账号表中的字段,username为自定义的变量)

Set objrs.ActiveConnection = objcn

objrs.Open (strsql)

二、控件连接:

1,工程——部件——添加 microsoft ado data control 6.0 控件。

2、属性设置:

点击生成按钮,打开连接字符串,选中,microsoft office 12.0 access database engine ole db provider

3、设置连接路径。


然后在连接选项看中填入你的数据库路径。测试连接,如果连接成功,则说明数据库跟你的vb程序绑定了。


4、设置纪录源:



就这样你的2007以上的access 数据库就可以连接vb程序了。

这一切的大前提就是你会用officeaccess建立数据库,且是正确的数据库哦!

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...