Office中国论坛/Access中国论坛

标题: 这个参数怎么办? [打印本页]

作者: goodidea    时间: 2003-4-22 06:11
标题: 这个参数怎么办?
一个过程里定义了一个参数 @P VARCHAR(200)
把他使用在类似  WHERE FNAME IN ( @P) 的地方

我想传递一个  STRING = "'A','B','C','D'"
窗体的 INPUTPARAMETERS = "..............."

怎么写这里?
作者: zhuyiwen    时间: 2003-4-24 17:38
@P char=STRING

是不是这样?

最好是在窗体上一文本框,如txtPara,在窗体的 INPUTPARAMETERS 属性中填入:
@P char=[forms]![yourForm]![txtPara]
再做一按钮 cmdReQuery,按钮的点击事件代码:

txtPara = STRING
Me.Recordset.Requery

不知能不能行。
作者: zhuyiwen    时间: 2003-4-24 17:42
char 换成 varchar, sorry
作者: zhuyiwen    时间: 2003-4-24 21:32
T-SQL语法帮助

IN
确定给定的值是否与子查询或列表中的值相匹配。

语法
test_expression [ NOT ] IN
    (
        subquery
        | expression [ ,...n ]
    )

参数
test_expression

是任何有效的 Microsoft® SQL Server™ 表达式。

subquery

是包含某列结果集的子查询。该列必须与 test_expression 有相同的数据类型。

expression [,...n]

一个表达式列表,用来测试是否匹配。所有的表达式必须和 test_expression 具有相同的类型。

结果类型
布尔型

结果值
如果 test_expression 与 subquery 返回的任何值相等,或与逗号分隔的列表中的任何 expression 相等,那么结果值就为 TRUE。否则,结果值为 FALSE。

使用 NOT IN 对返回值取反。

=====================================================

根据上面帮助,IN 后面一串表达式,不能用一个参数来描述,而是个多参数

因此,本例不能这样,而应采用子查询来完成。
作者: goodidea    时间: 2003-4-24 21:43
thank u
作者: goodidea    时间: 2004-4-29 04:18
补充
把这条语句连同传入的参数一起连接成一个字符串
然后用 execute 来执行她




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3