设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2487|回复: 5
打印 上一主题 下一主题

这个参数怎么办?

[复制链接]
跳转到指定楼层
1#
发表于 2003-4-22 06:11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个过程里定义了一个参数 @P VARCHAR(200)
把他使用在类似  WHERE FNAME IN ( @P) 的地方

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

怎么写这里?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2003-4-24 17:38:00 | 只看该作者
@P char=STRING

是不是这样?

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

txtPara = STRING
Me.Recordset.Requery

不知能不能行。

点击这里给我发消息

3#
发表于 2003-4-24 17:42:00 | 只看该作者
char 换成 varchar, sorry

点击这里给我发消息

4#
发表于 2003-4-24 21:32:00 | 只看该作者
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 后面一串表达式,不能用一个参数来描述,而是个多参数

因此,本例不能这样,而应采用子查询来完成。
5#
 楼主| 发表于 2003-4-24 21:43:00 | 只看该作者
thank u
6#
 楼主| 发表于 2004-4-29 04:18:00 | 只看该作者
补充
把这条语句连同传入的参数一起连接成一个字符串
然后用 execute 来执行她
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 09:31 , Processed in 0.105583 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表