vb中怎样将excel表导入到access中

Private   Sub   Command1_Click()  
      Text1.Text   =   App.Path   &   "/123.xls"           'EXCEL文件  
      Text2.Text   =   App.Path   &   "/123.mdb"           '数据库  
      Text3.Text   =   "sheet1"  
      Text4.Text   =   "sheet1"  
      Data1.DatabaseName   =   App.Path   &   "/123.mdb"  
   
      Dim   db   As   Database  
      Dim   sheet   As   String,   excelpath   As   String,   AccessPath   As   String,   AccessTable   As   String  
      AccessPath   =   Text2.Text                                                                         '数据库路径  
      excelpath   =   Text1.Text                                                                           '电子表格路经  
      AccessTable   =   Text4.Text                                                                       '数据库内表格  
      sheet   =  

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Dim extend_str As String Dim execl_cnn As New ADODB.Connection Dim execl_rst As New ADODB.Recordset Dim execl_count_rst As New ADODB.Recordset '纪录数量 Dim execl_field_rst As New ADODB.Recordset Dim execl_strconn As String Dim execl_strcmd As String Dim execl_count_str As String Dim insertStr As String 操作oracle数据库的记录集 Dim rst As ADODB.Recordset CommonDialog1.ShowOpen extend_str = Right(CommonDialog1.FileName, 3) If (extend_str = "xls") Then execl_cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & CommonDialog1.FileName & _ ";Extended Properties=Excel 8.0;" ElseIf (extend_str = "dbf") Then execl_cnn.ConnectionString = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceType=DBF;DBQ=" & getDir (CommonDialog1.FileName) execl_cnn.Open End If If (extend_str = "xls") Then execl_strcmd = "SELECT * from `Sheet1$` " execl_count_str = "SELECT count(*) from `Sheet1$` " execl_field_rst.Open execl_count_str, execl_cnn If (execl_field_rst.Fields(0).Value = 0) Then execl_strcmd = "SELECT * from [" & getFileNoExt(getfile(CommonDialog1.FileName)) & "$] " execl_count_str = "SELECT count(*) from [" & getFileNoExt(getfile(CommonDialog1.FileName)) & "$] " End If execl_field_rst.Close ElseIf (extend_str = "dbf") Then execl_strcmd = "SELECT * from " & CommonDialog1.FileName execl_count_str = "SELECT count(*) from " & CommonDialog1.FileName End If execl_rst.Open execl_strcmd, execl_cnn execl_count_rst.Open execl_count_str, execl_cnn If (CommonDialog1.FileName "") Then '进度条设置 ProgressBar1.Min = 0 ProgressBar1.max = execl_count_rst.Fields(0).Value If (execl_rst.RecordCount) Then '如果有记录 If (Option1.Value) Then '如果是仪器总库 If (execl_rst.Fields.Count = 8) Then Set rst = yg_gain_table_recordset("yg_device") execl_rst.MoveFirst Do While (Not execl_rst.EOF) rst.AddNew rst.Fields(0).Value = yg_getNextId("yg_device_id") rst.Fields(1).Value = execl_rst.Fields(0).Value & "" rst.Fields(2).Value = execl_r
在使用VB编写Excel信息批量导入Access数据库的代码时,我们需要使用ADO(ActiveX Data Objects)来连接和操作数据库。 首先,我们需要添加对ADO库的引用。在VB的工程,选择“项目”->“引用”,勾选“Microsoft ActiveX Data Objects x.x Library”。然后在代码引入ADO库:引入ADODB,在模块的顶部加入`Imports ADODB`。 接下来,我们需要编写连接数据库的代码。首先定义数据库连接对象和记录集对象,例如: `Dim cn As New ADODB.Connection` `Dim rs As New ADODB.Recordset` 然后,设置连接字符串,指定Access数据库的路径、名称和相关的数据源,例如: `cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\database.accdb;"` `cn.Open` 接下来,我们需要读取Excel文件的信息并插入到Access数据库。我们可以使用Excel对象模型来读取Excel文件的内容,例如: `Dim xl As New Excel.Application` `Dim wb As Excel.Workbook = xl.Workbooks.Open("C:\example.xlsx")` `Dim ws As Excel.Worksheet = wb.Worksheets("Sheet1")` `Dim lastRow As Integer = ws.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row` 然后,使用循环遍历Excel的每一行,并将每一行的数据插入到Access数据库,例如: ``` For i As Integer = 2 To lastRow rs.Open("SELECT * FROM TableName WHERE ID = 0", cn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic) rs.AddNew() rs.Fields("Field1").Value = ws.Cells(i, 1).Value rs.Fields("Field2").Value = ws.Cells(i, 2).Value rs.Fields("Field3").Value = ws.Cells(i, 3).Value rs.Update rs.Close Next ``` 最后,记得关闭数据库连接和Excel对象,释放资源,例如: `cn.Close` `xl.Quit` `releaseObject(ws)` `releaseObject(wb)` `releaseObject(xl)` 以上就是使用VB编写Excel信息批量导入Access数据库的基本流程和代码。在实际使用,还需要根据具体需求进行适当的修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值