如何从VBA访问SQLite?

我有一个Excel工作簿,有一些adodb代码查询本地访问数据库。 我想为SQLite做同样的事情,因为我相信会提供更好的性能。 我怎么做? 我可以使用adodb或odbc连接到SQLite文件吗?

我需要一些简单的,我可以部署,如果我可以尽量减less不必要的configuration和安装也许peoople将使用excel将不具有PC上的pipe理员权限,所以他们不能安装软件。

面对同样的问题,我做了一个轻量级的库,以便直接从Excel VBA访问SQLite3。 最终的结果是一个更简单的解决scheme,没有介入的ODBC或OleDb / ADO层,性能反映了SQLite数据库的性能,而不是不透明的包装。 这也很好,因为你不需要在registry中注册一个COM组件,只需要将两个.dll文件复制到你的工作簿中,然后在你的项目中添加一个.bas模块。

这种方法的一个缺点是,API不是标准的DAO或ADO接口,所以你可能需要做一些包装,或者转换一些代码来使其工作。 这也意味着您需要熟悉SQLite API才能使用它,但SQLite文档非常清晰。

我在CodePlex上放了一个早期版本的项目: SQLite for Excel为SQLite3 API函数提供了一个高性能的path,保留了SQLite3库调用的语义,并允许在不重新编译的情况下访问分布式SQLite3.dll。

任何反馈将不胜感激。

更新: SQLite for Excel项目现在生活在GitHub上 。

有一些DLL可以用来使用adodb从Visual Basic访问SQLITE数据库。 我想这里是你正在寻找的信息。 我从来没有尝试过,但链接可以为你有用。

祝你好运。

我使用了Datenhaus的dhSQLite ,效果很好。

如何从这里访问vbamacros的sqlite (原文为中文) :

软件环境:

1)Win7(32位)2)Excel2007(带有VBAfunction)

脚步:

1)首先, http://www.zsplat.pwp.blueyonder.co.uk/programming/sqlite-3.5.7-odbc-0.65.zip下载并安装SQLite ODBC驱动程序。

注意:如果你使用Win7,那么你需要Adminitrator权限,否则安装失败。 最简单的步骤是使用pipe理员login,然后安装SQLite ODBC驱动程序。

2)打开Excel VBA代码编辑器窗口,在菜单栏[工具] – > [引用]中添加Microsoft ActiveX Data Objects 2.7,目的是使用VBA和数据库连接。

3)使用下面的代码连接SQLite数据库:

Dim conn As New ADODB.Connection Dim dbName As String 'Define the connection string dbName = "Driver = {SQLite3 ODBC Driver}; Database = D: \ yourdbname.db" 'Open the database ff.Open dbName ff.Execute "create table a (a, b, c);" 'Other operations on and VBA to connect to other DB like Access the same. 'Close connection ff.Close