这段代码调用Access数据库,显示“找不到可安装的ISAM”?什么意思。

Jason78 2005-01-08 03:15:51
请大家帮帮看看这段代码,调用Access数据库,为什么会弹出如下对话框:

“实时错误'-2147467259 (80004005)'
找不到可安装的ISAM。”

代码如下:

Private Sub cmdOK_Click()

Dim Rs As New ADODB.Recordset
Dim Connstr As String

Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & App.Path & "\database.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=12345"

Rs.CursorType = adOpenStatic
Rs.Open "select * from date", Connstr
…………
End Sub

调试会发现代码行“Rs.Open "select * from date", Connstr”黄色。

奇怪的是我把此行作如下改动后就可以正常运行Connstr = ……& "Data Source=database.mdb……"

请帮忙。

谢谢大家


...全文
279 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jason78 2005-01-11
  • 打赏
  • 举报
回复
好的,楼上两位,你们的方法通过。

开始给分。

谢谢
wlk 2005-01-10
  • 打赏
  • 举报
回复
Connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + app.path +"\database.mdb;";
Jason78 2005-01-10
  • 打赏
  • 举报
回复
阿伟,毁于随,

还是出现同样的错误窗口:
“实时错误'-2147467259 (80004005)'
找不到可安装的ISAM。”
wumylove1234 2005-01-10
  • 打赏
  • 举报
回复
'返回程序路径
Public Function MyAppPath() As String
If right$(App.Path, 1) = "\" Then
MyAppPath = App.Path
Else
MyAppPath = App.Path & "\"
End If
End Function

用这个函数替换你连接字符串中的app.path
of123 2005-01-10
  • 打赏
  • 举报
回复
你的问题是丢了 Data Source=

Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=12345"
Programer_Zjw 2005-01-09
  • 打赏
  • 举报
回复
这样写试试:datasource= app.path & "\"database.mdb;
Programer_Zjw 2005-01-09
  • 打赏
  • 举报
回复
这样写试试:datasource= app.path & database.mdb;
Jason78 2005-01-09
  • 打赏
  • 举报
回复
各位楼上的朋友们,
通不过。

我就是想知道为什么我的程序代码中用了& App.Path & 就运行不了呢。

我想知道。
longyangyang 2005-01-08
  • 打赏
  • 举报
回复
Set Rs = New ADODB.Recordset
duoduo7753 2005-01-08
  • 打赏
  • 举报
回复
好像这样比上面的好!
Private Sub cmdOK_Click()
dim cn as new adodb.connection
Dim Rs As New ADODB.Recordset
Dim Connstr As String

Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=12345"

cn.open connstr
Rs.CursorType = adOpenStatic
Rs.Open "select * from date", cn
…………
End Sub
duoduo7753 2005-01-08
  • 打赏
  • 举报
回复
Private Sub cmdOK_Click()
dim cn as new adodb.connection
Dim Rs As New ADODB.Recordset
Dim Connstr As String

Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & App.Path & "\database.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=12345"

cn.open connstr
Rs.CursorType = adOpenStatic
Rs.Open "select * from date", cn
…………
End Sub
再试,我也不知道能不能通过!
Jason78 2005-01-08
  • 打赏
  • 举报
回复
是不是相对路径的引用语法有误啊?
Jason78 2005-01-08
  • 打赏
  • 举报
回复
还是不行,各位说说毛病出在哪里呢.
warlord 2005-01-08
  • 打赏
  • 举报
回复
Data Source是参数关键字,不能忽略.
dufeiyan9170 2005-01-08
  • 打赏
  • 举报
回复
Rs.Open "select * from [date]", Connstr
tztz520 2005-01-08
  • 打赏
  • 举报
回复

Rs.Open "select * from [date]", Connstr
ljhdi 2005-01-08
  • 打赏
  • 举报
回复
Set Rs = New ADODB.Recordset
Jason78 2005-01-08
  • 打赏
  • 举报
回复
ps:
我的database.mdb是和应用程序放在同一目录的

请大伙儿多帮忙,指导小弟

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧