自动化 SQL 查询

Automate SQL Queries

我有一个访问数据库,我想将其转移到 SQL 服务器数据库。但是我在 VBA 中有一个程序,我仍然想在 SQL 数据库中使用它。有没有办法像 VBA 那样自动执行 SQL 查询?任何帮助将不胜感激。

编辑:

这是我的 VBA 代码片段。

deleteVerifTable = "DELETE * FROM VerifiedFormularies"

verifiedForm = "INSERT INTO VerifiedFormularies ([CLIENT ID], [CLIENT NAME], [MARKET SEGMENT], [FORMULARY ID], [FORMULARY NAME], [FORMULARY VERSION], [APPROVAL STATE], [ARCHIVED]) " & _
"SELECT DD.[CLIENT ID], DD.[CLIENT NAME], DD.[MARKET SEGMENT], DD.[FORMULARY ID], DD.[FORMULARY NAME], DD.[FORMULARY VERSION], DD.[APPROVAL STATE], [ARCHIVED] " & _
"FROM " & tableName & " as DD " & _
"Where DD.[APPROVAL STATE] IN (""APPROVED AND PUBLISHED"", ""APPROVED"", ""APPROVED WITH CHANGES"", ""APPROVED WITH POSTED CHANGES"") " & _
"AND DD.[Client ID] NOT IN (SELECT Exclusions.[Client ID] FROM Exclusions)" & _
"AND DD.[ARCHIVED] NOT IN(""YES"")" & _
"AND DD.[CLIENT ID] NOT IN(SELECT Exclusions.[Client ID] FROM Exclusions)" & _
"AND YEAR(DD.[APPROVED DATE]) >= " & year & " AND MONTH(DD.[APPROVED DATE]) > 1 AND DAY(DD.[APPROVED DATE]) > 1"

虽然 Access 是一个带有集成前端(表单、报告)的 DBMS,但 SQL-Server 是一个纯 DBMS。您可以像在 Access 中一样定义 table 值函数,但是您必须在 SQL 中执行所有操作。 SQL-Server 整体上比 Access 更强大。首先是多用户访问。但是,您必须为用户创建一个前端,例如带有 Entity Framework.

的 .net c# WPF

如果您已经是 Visual Basic 专家,VB.net 也是一个选择。

或者使用 Access 作为前端并使用 ADO 或 DAO 从 sql-server 数据库中获取数据。您也可以通过 ODBC 连接 Access。但是我不建议在大规模应用程序中这样做。

如果您的表已经迁移到 SQL 服务器,您需要执行以下操作: 删除 Access 数据库中的所有表(先备份!)。

Link 您的 SQL 服务器表返回到 Access。它们应该与迁移前的原始表具有相同的名称和结构。

如果它们没有相同的名称和结构,那么您将必须创建视图和 link 这些视图。

您现有的代码应该可以像它期望存在的所有对象一样工作,现在就可以了。