标题:[求助]程序出现ISAM的错误,怎么解决啊
只看楼主
wangtuan7788
Rank: 1
等 级:新手上路
帖 子:286
专家分:0
注 册:2007-10-8
 问题点数:0 回复次数:11 
[求助]程序出现ISAM的错误,怎么解决啊

Private Sub Command1_Click()
Dim AccessDBPath As String, SheetName As String, aaa As String
Dim ExcelPath As String, AccessTable As String
Dim cat As New ADOdb.Recordset
Dim cn As New ADOdb.Connection
AccessDBPath = InputBox("请输入创建路径" & vbCrLf & _
"如:c:\aaa.mdb ", "创建数据库", "f:\考场安排.mdb")
Call CreateDatabase(AccessDBPath, 123)
SheetName = InputBox("请输入导出工作表的名称" & vbCrLf & _
"如:sheet1", , "sheet1")
ExcelPath = InputBox("请输入要导出资料的 Excel 档案路径名称" _
& vbCrLf & "如C:\book1.xls ", _
"创建数据库", "f:\考场安排.xls")
AccessTable = "考场安排"
Call ExportExcelSheetToAccess(SheetName, ExcelPath, AccessTable, AccessDBPath)
Set cn = New ADOdb.Connection
aaa = " create table time1 as select * from table where 1=2"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\考场安排.mdb;Persist Security Info=False"
cn.Open '就是这句说是有错误,找不到可安装的ISAM
Set cat = cn.Execute(aaa)
End Sub

我就是想实现先把数据从excel导入到access中,然后再对access操作,目前就是想再建一个表,让它具有和刚才生成的表相同的字段,然后再向里面加入我需要的数据

我刚学vb没几天,好多代码都是网上找的,被我拼到一块的,里面可能有不少低级错误,还要麻烦各位高手都给改正以下,谢谢了

我把下面那几句改成这样了
aaa = " create table time1 as select * from table where 1=2"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "data source=考场安排.mdb"
cn.Open '这句没错了
Set cat = cn.Execute(aaa) '可是这句说create table中的语法错误


[此贴子已经被作者于2007-10-18 10:47:12编辑过]

搜索更多相关主题的帖子: ISAM 
2007-10-15 14:00
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
不知
装一下mdac看看.

我的msn: myfend@
2007-10-15 14:29
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
得分:0 
换成ODBC连接看看
例如
Driver={Microsoft Access Driver (*.mdb)};Dbq=f:\考场安排.mdb;

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2007-10-15 15:01
wangtuan7788
Rank: 1
等 级:新手上路
帖 子:286
专家分:0
注 册:2007-10-8
得分:0 
以下是引用redice在2007-10-15 15:01:51的发言:
换成ODBC连接看看
例如
Driver={Microsoft Access Driver (*.mdb)};Dbq=f:\考场安排.mdb;

你是说把cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f:\考场安排.mdb;Persist Security Info=False"

换成你那句?那其他还用改什么吗?


你笑我和你们不一样,我笑你们大家都一样~
2007-10-15 22:06
redice
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:902
专家分:0
注 册:2006-12-11
得分:0 
回复:(wangtuan7788)以下是引用redice在2007-10-15...
有连接字符串的地方都改一下 试试
因为OLEDB是ODBC的升级版 很多机器上没有装该驱动
ODBC比较老

鲲鹏数据 - 专业Web数据采集服务提供者
http://www.
2007-10-16 14:06
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
得分:0 
ado没有应用,如果应用了那么你上面的代码中
Dim cat As New ADOdb.Recordset

自动变成
dim cat as New ADODB.Recordset了
后面的db小写,肯定没有应用!还有,如果不知道怎么连接,建议应用 access那么
直接就很简单的就连接上了

Dim accApp As Access.Application
Dim cnnTemp As ADODB.Connection
Set accApp = New Access.Application
accApp.OpenCurrentDatabase AccName, , DbPassWord '打开数据库
Set cnnTemp = accApp.CurrentProject.Connection '设置ado的连接为当前数据库的连接

其中 accName是数据库的全名 dbpassword是 数据库的密码,如果为空可以缺省

2007-10-16 14:26
wangtuan7788
Rank: 1
等 级:新手上路
帖 子:286
专家分:0
注 册:2007-10-8
得分:0 

谢谢了,我都试一下吧,有什么问题再问吧


你笑我和你们不一样,我笑你们大家都一样~
2007-10-16 15:04
wangtuan7788
Rank: 1
等 级:新手上路
帖 子:286
专家分:0
注 册:2007-10-8
得分:0 
回复:(心中有剑)ado没有应用,如果应用了那么你上面...
那段代码 打开数据库的那句出错了啊,说是access不能打开这个数据库,因为他已丢失或被其他用户按独占方式打开

怎么解决啊??

你笑我和你们不一样,我笑你们大家都一样~
2007-10-17 21:43
wangtuan7788
Rank: 1
等 级:新手上路
帖 子:286
专家分:0
注 册:2007-10-8
得分:0 
我把下面那段代码改成


aaa = " create table time1 as select * from table where 1=2"
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "data source=考场安排.mdb"
cn.Open '这句没错了
Set cat = cn.Execute(aaa) '可是这句说create table中的语法错误


大家帮忙给看下

你笑我和你们不一样,我笑你们大家都一样~
2007-10-17 21:59
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
得分:0 
以下是引用wangtuan7788在2007-10-17 21:43:01的发言:
那段代码 打开数据库的那句出错了啊,说是access不能打开这个数据库,因为他已丢失或被其他用户按独占方式打开

怎么解决啊??

首先两个应用你都应用了吗?

还有,你要连接数据库的时候,把你的acc关掉,然后在看看,我是调试通过的


2007-10-18 09:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-177785-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.130198 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved