如何从VBA访问SQLite?

我有一个Excel工作簿,其中包含一些查询本地access数据库的adodb代码。我希望对SQLite也这样做,因为我相信这将提供更好的性能。我该怎么做?我可以使用adodb或odbc连接到SQLite文件吗

我需要一些简单的东西,我可以部署,这样,如果我可以减少不必要的配置和安装,可能会使用excel的人将不会在pc上有管理员权限,所以他们不能安装软件

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

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

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

如有任何反馈,将不胜感激

更新:SQLite for Excel项目现在位于GitHub上

发表评论