找不到可安装的ISAM

black2012 2013-07-08 04:29:42
我电脑平台:win7 64位,vs2010, office2010 32位

代码如下:
Dim objConnection As New OleDbConnection _
("provider=Microsoft.ACE.OLEDB.12.0;Data Sourse=" & fileNameWanted)

Dim objDataAdapter As New OleDbDataAdapter()
Dim objDataSet As New DataSet()


Sub abc(ByVal bookname As String)
objDataAdapter.SelectCommand = New OleDbCommand()
objDataAdapter.SelectCommand.Connection = objConnection
objDataAdapter.SelectCommand.CommandText = _
"select * from [sheet1$]"
objConnection.Open() '找不到可安装的ISAM。
objDataAdapter.Fill(objDataSet, bookname)
objConnection.Close()

DataGridView1.AutoGenerateColumns = True

End Sub

运行到这一句objConnection.Open() 找不到可安装的ISAM 向各位师父、网友、大哥、大姐求助。
...全文
5304 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
merlin0117 2014-11-20
  • 打赏
  • 举报
回复
处理excel03的连接字符串是
 "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + Server.MapPath(filenameurl) + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"
处理excel07、10连接字符串两点不同:
"Provider=Microsoft.ACE.OLEDB.12.0;" + "data source=" + Server.MapPath(filenameurl) + ";Extended Properties='Excel 12.0 Xml; HDR=YES; IMEX=1'"
juzzw76 2014-10-12
  • 打赏
  • 举报
回复
学些下, 正着急
shtrac 2014-05-16
  • 打赏
  • 举报
回复
请问你的问题是怎么解决的??为什么我改了半天还是不行呢
black2012 2013-07-23
  • 打赏
  • 举报
回复
谢谢 兔子党逍遥 版主! 问题我已经解决了。 您的代码参数的设置是针对旧版本EXCEL的,我已经找到新版本的解决方法了。 下面是专门讲解connectionstrings的网址。 http://www.connectionstrings.com/excel-2007
兔子-顾问 2013-07-09
  • 打赏
  • 举报
回复

 Private Function get_excel(fileName As String) As Data.DataSet
     Dim strCon As String
     Dim myConn As OleDb.OleDbConnection
     Dim myDataSet As Data.DataSet = New Data.DataSet
     strCon = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ='" + fileName + "';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'"
     'HDR=YES(有标题行,读取时第一行忽略);  
     'HDR=NO(无标题行,从第一行开始读取);  
     'Excel 8.0; Excel的版本  
     myConn = New System.Data.OleDb.OleDbConnection(strCon)
     Dim strComMain As String = " SELECT * FROM [Sheet1$]"
     myConn.Open()
     Dim myCommandMain As New System.Data.OleDb.OleDbDataAdapter(strComMain, myConn)
     myDataSet = New DataSet
     Try
         myCommandMain.Fill(myDataSet)
     Catch ex As Exception
         MsgBox(ex.Message)
     Finally
         myConn.Close()
     End Try
     get_excel = myDataSet
 End Function
下次你最好贴完整代码可以直接调试,测试的,或是上传Demo。没办法调试你的,我网上找了一段,测试后确认有效。你可以试试。 只可以xls
兔子-顾问 2013-07-09
  • 打赏
  • 举报
回复
你到别人帖子说的,我删了,因为我不了解这块,所以没有回复,上面我贴出的是ISAM定义,接下来我测试一下,看如何打开,一会儿测试好给你回复。
兔子-顾问 2013-07-09
  • 打赏
  • 举报
回复
ISAM (ISAM——索引顺序访问方法)它是一种索引机制,用于高效访问文件中的数据行。 一般在vb中访问的数据库有三种: 1. JET数据库,即Microsoft Access 2. ISAM数据库,如:dBase,FoxPro等 3. ODBC数据库,凡是遵循ODBC标准的客户/服务器数据库。如:Microsoft SQL Server、Oracle (ISAM——索引顺序访问方法)是Indexed Sequential Access Method(索引顺序存取方法)的缩写 是IBM公司发展起来的一个文件操作系统,可以连续地(按照他们进入的顺序)或者任意地(根据索引)记录任何访问。每个索引定义了一次不同排列的记录。一个职工数据库基于搜寻的信息可以有几个索引。例如,按照职工所属科室的部门索引中,同时还有按照职工姓氏字母顺序排名的名字索引。每个索引中的关键词都是制定的。对于职工名字字母顺序索引,姓就是指定的关键词。   ISAM的开发早于VSAM(虚位存储通道法)。
black2012 2013-07-09
  • 打赏
  • 举报
回复
Dim objConnection As New OleDbConnection _ ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\ExcelData\23.xlsx" & ";Extended Properties=Excel 14.0;HDR=NO;") Dim objDataAdapter As New OleDbDataAdapter() Dim objDataSet As New DataSet() Sub abc(ByVal bookname As String) objDataAdapter.SelectCommand = New OleDbCommand() objDataAdapter.SelectCommand.Connection = objConnection objDataAdapter.SelectCommand.CommandText = _ "select * from [sheet1$]" objConnection.Open() '找不到可安装的ISAM。 objDataAdapter.Fill(objDataSet, bookname) objConnection.Close() 改成这样子了还是不行啊,求助各位大哥呀
u010316023 2013-07-09
  • 打赏
  • 举报
回复
改一下连接字符串. Dim objConnection As New OleDbConnection _ ("provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=" & fileNameWanted)
black2012 2013-07-09
  • 打赏
  • 举报
回复
引用 1 楼 u010316023 的回复:
改一下连接字符串. Dim objConnection As New OleDbConnection _ ("provider=Microsoft.Jet.OLEDB.4.0;Data Sourse=" & fileNameWanted)
我是office2010,4.0不行啊。 以下链接是微软官方的说明: http://support.microsoft.com/kb/316934/zh-cn

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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