从代码或在 Access 中创建过程?

Create Procedure from code or in Access?

Windows10、访问 2016 我正在将一个非常小的数据库(14 个表和 40-50 个存储过程)从 SQL 服务器移动到 Access。我尝试使用 OLEDB 命令对象从代码中重新创建存储过程。这是命令文本的示例…

CREATE PROCEDURE DeleteOrderDetailByOrderID
        ([@ID] int)
        AS
        DELETE FROM OrderDetails
        WHERE (OrderID = @ID);

我收到一条错误消息,指出@ID 的数据类型不正确。它不是。当我从@ID 中删除括号时,所有内容都被原谅并且代码运行。但是,Access 在参数部分(不在 Where 子句中)从 @ID 中去除 @。我不得不进入 Access 并手动更正此问题。我不喜欢通过将近 5000 行代码来更正程序中的参数名称的想法。我以为我可以通过将 SQL 直接粘贴到 Access 中来使用直接方法,但是我收到一条错误消息,这条路线说 CREATE TABLE 中的语法错误,它突出显示了 PROCEDURE 这个词。这使我相信您不能直接在 Access 中使用 CREATE PROCEDURE。这是真的?我还缺少另一种方法吗?

你漏了,SQL 服务器的 T-SQL 不是 Access SQL.

Access 具有 UDF - 用户定义函数 - 也可用于查询,但那是 VBA 代码。

如果您只需要一个基于单用户文件的数据库来保存您的数据,您可以选择 SQL Server Compact Edition,它支持T-SQL.