使用变量附加字段参数
Posted
技术标签:
【中文标题】使用变量附加字段参数【英文标题】:Use variable to append field parameter 【发布时间】:2012-10-13 14:57:31 【问题描述】:在这里交叉发布:
http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077
我正在使用 ADO 将数据从 MS Access 检索到 Excel,并且我想将 Iif 语句附加到查询的 SELECT 部分。我的 SQL 字符串存储在一个文本文件中,所有参数都通过 ADO 附加。
我知道如何在 WHERE 子句中附加参数,甚至可以像这样在 SELECT 语句中附加参数:
SELECT BA, Iif(QA=[@somestring],[@somestring2], [@somestring3])
FROM myData
WHERE BA = 'some person'
但我想要完成的是将占位符 [@somestring] 转换为可变长度的 Iif 语句,例如:
SELECT BA, [@somestring]
占位符转换为我使用函数构建的字符串:
Iif(QA='Jon Doe', 'Jon', Iif(QA='Jane Doe', 'Jane', 'Nobody')).
现在,我得到的结果是我传递给填充整个字段的参数的文字字符串。所以 Iif 语句是为每条记录写出的,而不是由 SQL 评估。
我正在尝试做的事情是否可能,或者 SQL 是否需要在初始命令中预定义的 Iif 语句的字段?
即,Iif(QA=[@somestring], [@sometstring2], [@somestring3])
【问题讨论】:
【参考方案1】:这是来自 VBForums 的直接剪切和粘贴。它是一个社区 wiki,只打算从“没有答案”中删除这个问题。可酌情删除或修改。
发件人:http://www.vbforums.com/showthread.php?696163-Use-variable-to-append-field-parameter&p=4264077#post4264077
作者:si_the_geek
这是不可能的,你只能用参数来设置Values,你 不能用它们做其他事情(例如字段/表名、函数、 等)。
如果您想更改查询的其他部分,您需要使用 其他方法(例如字符串构建)。在末尾的示例中 您的帖子,您应该将其添加到查询字符串中,并添加值 通过参数。
【讨论】:
以上是关于使用变量附加字段参数的主要内容,如果未能解决你的问题,请参考以下文章