代码如下:
Private Sub Form_Load()
Data1.Connect = "access 2000;pwd=123;"
Data1.DatabaseName = "C:\进销存.mdb"
Data1.RecordSource = "库存管理"
Data1.Refresh
End Sub
执行时总是提示:实时错误'3170':找不到可插入的ISAM。
(说明:本人的data控件已升级,在取消数据库密码时,可用Data1.Connect = "access 2000;"的形式正常访问数据库。)
Private Sub Form_Load()
Data1.Connect = "access 2000;pwd=123;"
Data1.DatabaseName = "C:\进销存.mdb"
Data1.RecordSource = "库存管理"
Data1.Refresh
End Sub
执行时总是提示:实时错误'3170':找不到可插入的ISAM。
(说明:本人的data控件已升级,在取消数据库密码时,可用Data1.Connect = "access 2000;"的形式正常访问数据库。)
Provider=Microsoft.JET.OLEDB.4.0;data sourceC:\进销存.mdb;JET OLEDB:database password=123;
1、公用函数
Public Function chaxun(ByVal sql As String, msgstring As String) As ADODB.Recordset
On Error GoTo ExecuteSQL_Error
Dim cN As ADODB.Connection
Dim rst As ADODB.Recordset
Dim a() As String
Set cN = New ADODB.Connection
Dim str As String
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If cN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\_data.mdb;Persist Security Info=False;jet OLEDB:Database password=422127197509080072"
cN.Open
a = Split(sql)
If InStr("insert,delete,updata,alter", Trim(a(0))) Then
cN.Execute sql
Select Case Trim(a(0))
Case "insert"
msgstring = "添加记录"
Case "delete"
msgstring = "删除记录"
Case "updata"
msgstring = "更新记录"
End Select
msgstring = msgstring & "已完成"
Else
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open sql, cN, adOpenKeyset, adLockOptimistic
Set chaxun = rst
msgstring = "查询到" & rst.RecordCount & "条记录"
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cN = Nothing
Exit Function
ExecuteSQL_Error:
msgstring = "查询错误: " & _
err.Description
Resume ExecuteSQL_Exit
End Function
2、调用方法
dim xx as string,yy as string
xx = "select * from main order by 序号"
Set mrc = chaxun(xx, yy)
网上有专解access软件!
设置 Connect 属性为 ;pwd=密码
Data1.Connect = ";pwd=密码"
修改密码:
Data1.Database.NewPassword _老密码_, _新密码_
Data1.Connect = ";pwd=123"
Data1.DatabaseName = "C:\进销存.mdb"
Data1.RecordSource = "库存管理"
Data1.Refresh
End Sub
当数据库是access 2000以下版本时,可以通常测试,但当数据库是access 2000时就不行了,提示:不可识别的数据库格式。我试着将Data1.Connect = ";pwd=123"改为Data1.Connect = "access 2000;pwd=123"也还是不行,提示:找不到可插入的ISAM。
说明:我已经将data控件升级了。
1、用ADODC控件,也就是微软主推的ADO技术
2、将ACCESS2000数据库转换为ACCESS97格式的数据库。(用ACCESS2000以上软件都可以搞定)
我的观点:
当使用:Data1.Connect = ";pwd=123",出现“不可识别的数据库格式”的错误提示,即说明data控件此时默认的数据库类型为Data1.Connect="access;",相应的调用的数据引擎也是低版本的。而要用data控件连接access 2000数据库时,应使用这种形式:Data1.Connect = "access 2000;"。换句话说若(假设就是在注册表中)能使Data控件默认的连接类型为"access",那么当使用Data1.Connect = ";pwd=123"时,就会调用有关"access 2000"数据库的数据引擎。