使用VBA设置MSSQL数据库变量,以便在View中使用

时间:2014-10-03 14:32:09

标签: sql-server vba server-variables

我有一个非常常见的设置,即客户端运行的本地数据库Access 2013 .accde,包含一些本地表,但主要是在其公司的Microsoft SQL Server 2005上运行的链接表和视图。

其中一个视图应根据order_type(订单表中的字段)过滤订单。它目前没有,过滤器控制将被实现。

视图,我们称之为viewOrderFilter,必须是" dynamic"。我以为我通过使它与视图查询中的order_type匹配到数据库变量来实现它。

如何将@var_OrderFilter设置为带有VBA代码的值,以便我可以将WHERE order_type = @ var_OrderFilter添加到视图的查询中?

编辑: 这是有效的语法吗?这些可以执行查询还是必须存储过程或某些?在代码中,我希望测试一个int是否可以设置为NULL,但不幸的是,如果我在任何地方的Microsoft Server Management Studio中输入它,程序崩溃,所以我不能尝试"尝试# 34;什么都有。

DECLARE @var_OrderFilter INT
SET @var_OrderFilter=NULL 

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

您无法像这样参数化视图。创建视图时必须完全定义视图。

要使用参数将决策或过滤推迟到运行时,您应该创建一个函数。

CREATE FUNCTION