VBA读取、写入access数据库 vba读取sql数据

VBA读取、写入access数据库 vba读取sql数据

技术教程gslnedu2024-12-18 13:17:3113A+A-

当数据量过大时Excel存储和读取就好卡顿,可将数据保存到access数据库。

  • VBA读取access到Excel:

此处是当打开宏表格时,数据自动从access数据库对应表更新过来

Private Sub Workbook_Open()
Dim conn As New ADODB.Connection

Sheet1.Range("a2", Cells(Rows.Count, 1).End(xlUp)).ClearContents '清除原来数据

conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\practice\VBA\data.accdb"

Sheets("产品信息").Range("a2").CopyFromRecordset conn.Execute("select * from [产品信息]") '如果是EXCEL表需要加$符号

conn.Close

End Sub

固定格式为:
Dim conn As New ADODB.Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=access表文件路径"
Sheets("拷贝到Excel表的名称").Range("a2").CopyFromRecordset conn.Execute("select * from [access表名称]")
conn.Close  '关闭链接

Dim conn As New ADODB.Connection,此处无法执行,需按以下设置:

  • VBA写入Excel到access:

需先创建好access数控表,字段格式要正确,要一一对应。

Private Sub Workbook_Open()
Dim conn As New ADODB.Connection
Dim str As String

conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\practice\VBA\data.accdb"

For j = 1 To Me.ListBox4.ListCount - 1 '逐条写入,此处是从列表控件中写入数据

    str = "('" & 字符字段& "','" & Date(日期格式字段) & " ','" & Me.ListBox4.List(j, 0) & "'," 数值格式字段& ")"
'注意双引号格式的书写'" & ******& "',此处是写入的数据值。
    
    conn.Execute ("insert into [销售记录] (订单编号,日期,产品编号,类别,品名,规格,单价,数量,单品合计) values" & str)
   'SQL插入数据语句insert into [表名] (字段名称)(字段对应的值),循环逐条插入
Next

conn.Close

End Sub

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8