从代码或Access中创建过程?

时间:2017-10-15 07:53:50

标签: ms-access-2016

Windows 10,Access 2016 我正在将一个非常小的数据库(14个表和40-50个存储过程)从SQL Server移动到Access。我试图使用OLEDB命令对象从代码重新创建存储过程。这是CommandText的示例...

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。这是真的?我还缺少另一种方法吗?

1 个答案:

答案 0 :(得分:0)

您缺少,SQL Server的T-SQL不是Access SQL。

Access具有UDF - 用户定义的函数 - 也可以在查询中使用,但这是VBA代码。

如果您只需要一个基于单用户文件的数据库来保存数据,那么您可能会使用支持T-SQL子集的 SQL Server Compact Edition