ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 207|回复: 10

[求助] 求高手帮帮忙excel数据,利用VB导入到Access

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-11-9 22:58 | 显示全部楼层 |阅读模式
求高手帮帮忙excel数据,利用VB导入到Access

感谢感谢!!!!!

新建文件夹 (2).rar (9.81 KB, 下载次数: 4)

微信图片_20241109225629.png

TA的精华主题

TA的得分主题

发表于 2024-11-10 10:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.png
查收,上个问题也修改好了

新建文件夹 (2).zip

70.84 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2024-11-10 12:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 hcunicom 于 2024-11-10 12:10 编辑
z865593849 发表于 2024-11-10 10:18
查收,上个问题也修改好了

要是有30万行1000列 你这个循环插入要到猴年马月去洛


' 设置数据库路径
    Dim databasePath As String
    数据库文件名字 = ThisWorkbook.Sheets("参数设置").Range("B5")
    databasePath = ThisWorkbook.Path & "\" & 数据库文件名字
   
    ' 设置Excel表和Access表名
    excelTable = "汇总$" ' 使用工作表名和$符号
    accessTable = ThisWorkbook.Sheets("参数设置").Range("B6")
   
    ' 创建数据库连接对象
    Set conn = CreateObject("ADODB.Connection")
    ' 打开连接
    connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & databasePath & ";Persist Security Info=False;"
    conn.Open connectionString
   
    ' 执行SELECT INTO语句
    'sql = "select count(*) from AAA"
    'Set rst = conn.Execute(sql)
   
    Dim sql As String
    sql = "SELECT * INTO [" & accessTable & "] FROM [Excel 12.0 Xml;HDR=YES;IMEX=1;ACCDB=YES;Database=" & ThisWorkbook.FullName & "].[" & excelTable & "]"
    conn.Execute sql
   
    ' 关闭连接
    conn.Close
    Set conn = Nothing

TA的精华主题

TA的得分主题

发表于 2024-11-10 16:21 | 显示全部楼层
参与一下。。。

新建文件夹 (2).rar

19.52 KB, 下载次数: 1

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-10 16:55 | 显示全部楼层
忘了说,我这边是excel2003,3位大哥的代码运行起来有点问题

TA的精华主题

TA的得分主题

发表于 2024-11-10 17:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 gwjkkkkk 于 2024-11-10 21:20 编辑

不知道对不对,我没有2003没办法测试。。。

新建文件夹 (2).rar

20.65 KB, 下载次数: 6

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-10 21:03 | 显示全部楼层
gwjkkkkk 发表于 2024-11-10 17:36
不知道对不对,我没能2003没办法测试。。。

111.png


出现这个!!
另外你这好像是删除原来ACCESS里面的表,然后重新导入excel里面的数据。我想要是直接添加数据。前面的数据不删除!!!麻烦了

TA的精华主题

TA的得分主题

发表于 2024-11-10 21:21 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
83gege 发表于 2024-11-10 21:03
出现这个!!
另外你这好像是删除原来ACCESS里面的表,然后重新导入excel里面的数据。我想要是直 ...

不会了,期待高手。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-10 21:35 | 显示全部楼层
谢谢大家!!!小弟用AI写成功了

Sub ImportDataToAccess()
    Dim conn As Object
    Dim rs As Object
    Dim strFile As String
    Dim strConn As String
    Dim strSQL As String
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim rngData As Range
    Dim row As Range

    ' 设置Access数据库文件路径
    strFile = "d:\ABC.mdb"

    ' 设置连接字符串
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";"

    ' 创建ADODB连接对象
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")

    ' 打开连接
    On Error GoTo ErrorHandler
    conn.Open strConn

    ' 设置Excel工作簿和工作表
    Set wb = ThisWorkbook
    Set ws = wb.Worksheets("Sheet1")

    ' 设置要导入的数据范围
    Set rngData = ws.Range("B2:D" & ws.Cells(ws.Rows.Count, "A").End(xlUp).row)

    ' 循环遍历数据并将其插入到Access数据库中
    For Each row In rngData.Rows
        ' 创建SQL语句
        strSQL = "INSERT INTO mei (名称, 价格, 日期) VALUES ('" & row.Cells(1).Value & "', " & row.Cells(2).Value & ", #" & Format(row.Cells(3).Value, "yyyy-mm-dd") & "#)"
        
        ' 执行SQL语句
        conn.Execute strSQL
    Next row

    ' 关闭连接并释放对象
    conn.Close
    Set conn = Nothing
    Set rs = Nothing

    MsgBox "数据导入成功!"
    Exit Sub

ErrorHandler:
    MsgBox "发生错误: " & Err.Description, vbCritical, "错误"
    If Not conn Is Nothing Then
        If conn.State = 1 Then conn.Close
    End If
    Set conn = Nothing
    Set rs = Nothing
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-10 21:37 | 显示全部楼层

谢谢大家,小弟用AI写出来的,能满足要求了


微信截图_20241110213644.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-13 14:30 , Processed in 0.040185 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表