分享

VBA和SQLite数据库交互

 excel05 2022-08-20 发布于福建
SQLite是一个轻量级的数据库,对于单机的用户还是不错的。要在excel VBA里使用SQLite,首先肯定是需要相关的驱动的。熟悉ADO的人应该知道。我也不多说了。首先安装驱动:http://www./sqliteodbc/下载。在里面的Current Version(也就是最新的稳定版).注意驱动跟软件版本走。32位的office就下载sqliteodbc.exe,64位的office就下载sqliteodbc_w64.exe。
由于没有gui.我们无法查看数据文件。这样我们还需要一个图形化的界面来看一下数据结果,这里我推荐一下SQLiteSpy.下载地址:https://www./delphi/products/sqlitespy/index。点击网页右边的Download Win32或者win64版本下载吧。

SQLiteSpy的界面如下:

可以新建SQLite数据库,也可以打开已有的数据库查看数据文件。这对我们使用vba的人就够了。主要是查看vba是否得到想要的数据结果。下面看一下相关代码:

Sub 创建数据库()
Dim conn As New ADODB.Connection '引用ADO
Dim Connstr As String
Connstr = "Driver={SQLite3 ODBC Driver};Database=" & ThisWorkbook.Path & "\用户数据.db"
conn.Open Connstr
conn.Close
End Sub
上面的代码会打开用”户数据”这个数据库文件,如果不存在会在这个路径上创建一个同名文件。

下面的代码用于在数据库文件里创建一个表。
Sub 创建表()
Dim conn As New ADODB.Connection '引用ADO
Dim Connstr As String
Connstr = "Driver={SQLite3 ODBC Driver};Database=" & ThisWorkbook.Path & "\用户数据.db"
conn.Open Connstr
conn.Execute "Create table 用户清单(用户编号,用户姓名,用户地址,联系电话)"  '在用户数据库文件下创建用户清单表,并创建4个字段名
conn.Close
End Sub

用SQLiteSpy查看效果如下图:


下面的代码是插入excel数据到清单数据表。
Sub 更新数据到DB()
Dim conn As New ADODB.Connection '引用ADO
Dim Connstr As String
Connstr = "Driver={SQLite3 ODBC Driver};Database=" & ThisWorkbook.Path & "\用户数据.db"
conn.Open Connstr
conn.Execute "Create table 用户清单(ID,NAME,AGE,ADDRESS,SALARY)"  '在用户数据库文件下创建用户清单表,并创建5个字段名,如果表已存在会报错
arr = [A1].CurrentRegion
For i = 2 To UBound(arr)
conn.Execute "Insert into 用户清单 values('" & Join(Application.Rept(Application.Index(arr, i, 0), 1), "','") & "')"
Next
conn.Close
End Sub

运行结果如下图:




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多