用vb将excel导入access数据库提示:表已存在的问题
数据都存储在一个excel文件里,access数据库有几张表现在要将excel文件里的数据导入access指定表中,晚上搜到的做法提示;表已存在。高分求助,有高手的话请留...
数据都存储在一个excel文件里,access数据库有几张表
现在要将excel文件里的数据导入access指定表中,晚上搜到的做法提示;表已存在。
高分求助,有高手的话请留言或粘贴代码,我再进一步请教。 展开
现在要将excel文件里的数据导入access指定表中,晚上搜到的做法提示;表已存在。
高分求助,有高手的话请留言或粘贴代码,我再进一步请教。 展开
13个回答
展开全部
可以帮你, 我刚好做过一个类似的东西. 代码大概是这样的...
Private Function readExcel(ByVal index As Integer) As DataTable
Dim ExcelConn As New OleDbConnection
Try
Dim connstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=..\" & ArrayListExcelName(index) & ";Extended Properties=""Excel 8.0;HDR=YES;"""
ExcelConn.ConnectionString = connstr
ExcelConn.Open()
Dim dt As DataTable = ExcelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
If dt Is Nothing Then
arrayListlog.Add("Error on readExcel : SchemaGuid can not read.")
End If
Dim dr As DataRow = dt.Rows(0)
Dim sheetName As String = dr("TABLE_NAME").ToString()
Dim cmdText As String = "Select * from [$" & sheetName & "]"
'MsgBox(cmdText)
Dim excelAdpt As New OleDbDataAdapter(cmdText, connstr)
Dim ds As New DataSet
excelAdpt.Fill(ds)
Return ds.Tables(0)
Catch ex As Exception
ableToUpload = False
arrayListlog.Add("Error on readExcel : " & ex.Message)
Return Nothing
Finally
ExcelConn.Close()
ExcelConn.Dispose()
End Try
End Function
一部代码分而已.还有一部分已经被改到面目全非了, 其实用 "select into" 就能解决了.
可以给我access 和 excel 我帮你看看 sycspysycspy@hotmail.com
Private Function readExcel(ByVal index As Integer) As DataTable
Dim ExcelConn As New OleDbConnection
Try
Dim connstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=..\" & ArrayListExcelName(index) & ";Extended Properties=""Excel 8.0;HDR=YES;"""
ExcelConn.ConnectionString = connstr
ExcelConn.Open()
Dim dt As DataTable = ExcelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
If dt Is Nothing Then
arrayListlog.Add("Error on readExcel : SchemaGuid can not read.")
End If
Dim dr As DataRow = dt.Rows(0)
Dim sheetName As String = dr("TABLE_NAME").ToString()
Dim cmdText As String = "Select * from [$" & sheetName & "]"
'MsgBox(cmdText)
Dim excelAdpt As New OleDbDataAdapter(cmdText, connstr)
Dim ds As New DataSet
excelAdpt.Fill(ds)
Return ds.Tables(0)
Catch ex As Exception
ableToUpload = False
arrayListlog.Add("Error on readExcel : " & ex.Message)
Return Nothing
Finally
ExcelConn.Close()
ExcelConn.Dispose()
End Try
End Function
一部代码分而已.还有一部分已经被改到面目全非了, 其实用 "select into" 就能解决了.
可以给我access 和 excel 我帮你看看 sycspysycspy@hotmail.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用Access的外部表导入功能就可以了
不要绕弯路了
其中注意一点的就是的导入的Excel的名字不要与Access中现存的表单相同,那样会导致冲突而提示“表已存在”。
不要绕弯路了
其中注意一点的就是的导入的Excel的名字不要与Access中现存的表单相同,那样会导致冲突而提示“表已存在”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请提供:
execel:有几列,几行,有几个表,列名
access:有几个字段,以及字段名,表名
execel:有几列,几行,有几个表,列名
access:有几个字段,以及字段名,表名
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你现有功能我没有看到。我只就 表已存在说说自己的看法吧。
在导入之前就先把表drop 掉
dim sSql as string
sSql = " drop table xxx " 'xxx table name
call conn.execute(sSql)
继续你的导入
在导入之前就先把表drop 掉
dim sSql as string
sSql = " drop table xxx " 'xxx table name
call conn.execute(sSql)
继续你的导入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-01-14
展开全部
ExportExcelSheetToAccess "fileinfo", App.Path & "\fileinfo.xls", "fileinfo", App.Path & "\FileManager.mdb"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询