VB使用数据环境连接带密码的access,测试连接时失败
VB使用数据环境连接带密码的access,测试连接时失败
在没有设置密码时就可以测试连接,就可以成功。
在access我把打开方式改为普通打开,不用独占方式,还是失败,报同样的错误。请问这是什么原因?
谢谢。
[解决办法]
晕死看错你的问题了
不用数据环境可以正常连接,那为什么还要去用数据环境呢?
我不用数据环境,不过看你的贴图,问题应该和密码无关,好象你图中多是乱码,你检查一下路径看看
[解决办法]
建立模块,代码如下:
'传递参数SQL传递查询语句,MsgString传递查询信息。自身以一个数据集对象的形式返回
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection '定义连接
Dim Rst As ADODB.Recordset
Dim sTokens() As String '定义字符串
On Error GoTo ExecuteSQL_Error '异常处理
sTokens = Split(SQL) '用Split函数产生一个包含各个子串的数组
Set Cnn = New ADODB.Connection '创建连接
Cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then '判断字符串中是否含有指定内容
Cnn.Execute SQL '执行查询语句
MsgString = sTokens(0) & "query successful" '返回查询信息
Else
Set Rst = New ADODB.Recordset '闯将数据集对象
Rst.Open Trim$(SQL), Cnn, adOpenKeyset, adLockOptimistic '返回查询结果
Set ExecuteSQL = Rst '返回记录集对象
MsgString = "查询到" & Rst.RecordCount & " 条记录"
End If
ExecuteSQL_Exit:
Set Rst = Nothing '清空数据集对象
Set Cnn = Nothing '中断连接
Exit Function
ExecuteSQL_Error: '判断错误类型
MsgString = "查询错误:" & Err.Description
MsgBox MsgString
Resume ExecuteSQL_Exit
End Function
'连接数据库
Public Function ConnectString() As String
'返回一个数据库连接
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password= password ;Data Source=" & App.Path & "\db.mdb"
End Function
在程序中引用如下:
Private Sub CmdReg_Click()
Dim TxtSQL As String
Dim Mrc As New ADODB.Recordset
Dim MsgText As String
TxtSQL = "select * from system"
Set Mrc = ExecuteSQL(TxtSQL, MsgText)
Mrc.Fields("RegSN") = Me.TxtReg.Text
Mrc.Update
Mrc.Close
End Sub
[解决办法]
可能是你的Access版本太新了??
以前我处理过的就是必须把Access转换成2000 还是 97 的才没有问题。
你转换看看。。。
[解决办法]
既然转换格式都不能了,
那出现问题的就是在密码设置那边。
虽然不怎么清楚,但是感觉就是账号、密码那边的问题。
[解决办法]