VBA 数组写入ACCESS

Sub ExportDataToAccess(arrFileds As Variant, datas As Variant, sheetName As String)
    Dim conString$, sqlString$
    Dim cnn, rst
    Set cnn = CreateObject("ADODB.Connection")  ' 创建连接对象
    Set rst = CreateObject("ADODB.Recordset")   ' 创建记录集对象
    conString = "provider=Microsoft.ace.OLEDB.12.0;Data Source=" & ThisWorkbook.Path _ 
        & "\test.accdb;"
    cnn.Open conString  ' 连接Access数据库
    rst.Open "select * from " & sheetName & " where 1=2", cnn, adOpenDynamic, _        
        adLockOptimistic
    rst.AddNew arrFileds, datas     '数组插入到Access
    cnn.Close   ' 关闭连接对象
End Sub

参数:arrFileds(表示要插入数据的字段的数组),datas(表示要插入的实际数据的数组),以及sheetName(access工作表的名称)。

常见异常:代码中出现了"参数类型不正确"的异常。这个异常通常发生在尝试将不正确的数据类型传递给函数或方法时。

在您提供的代码中,rst.Open "select * from " & sheetName & " where 1=2", cnn, adOpenDynamic, adLockOptimistic行出现了异常。adOpenDynamic的值为空值,adLockOptimistic的值为空值。

解决方法:打开VB编辑器,点击“工具”、点击引用,勾上Microsoft ActiveX Data Objects 6.0

请注意,如果Excel表格的结构与Access表的结构不匹配,或者存在数据格式问题,可能会出现导入错误。在这种情况下,您需要手动修复Excel数据或调整Access表结构,然后重新尝试导入过程。

相关推荐

  1. VBA 数组写入ACCESS

    2023-12-08 15:08:02       37 阅读
  2. Access数据中的SQL偏移注入

    2023-12-08 15:08:02       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 15:08:02       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 15:08:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 15:08:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 15:08:02       18 阅读

热门阅读

  1. 数据结构的存储方式

    2023-12-08 15:08:02       34 阅读
  2. Kotlin(十三) 延迟初始化和密封类

    2023-12-08 15:08:02       34 阅读
  3. rpc服务、微服务架构、分布式应用是什么

    2023-12-08 15:08:02       36 阅读
  4. 人工智能助力医疗:科技护航健康未来

    2023-12-08 15:08:02       37 阅读
  5. MySQL报错:sql_mode=only_full_group_by 解决方法含举例

    2023-12-08 15:08:02       33 阅读
  6. 设计模式基础——工厂模式剖析(2/2)

    2023-12-08 15:08:02       27 阅读
  7. leetcode:468. 验证IP地址

    2023-12-08 15:08:02       35 阅读