【问题标题】:How to prompt user input parameters for SQL Queries in Access 2010如何在 Access 2010 中提示用户输入 SQL 查询的参数
【发布时间】:2012-11-24 04:34:30
【问题描述】:
SELECT Transactions.TransactionNumber
FROM Transactions
WHERE (((Transactions.Date)>=#11/23/12#)) AND (((Transactions.Date)<=#11/23/12#));

以上代码返回指定日期之间发生的所有交易。但我希望每次执行查询时由用户定义这些日期。

我尝试使用 [] 运算符让用户在 WHERE 中定义条件,如下所示:

WHERE (((Transactions.Date)>=[Input a Date])) AND (((Transactions.Date)<=[Input a Date]));

但 microsoft Access 会引发语法错误消息。当我像这样包含 # (日期运算符)时也会发生同样的情况

WHERE (((Transactions.Date)>=#[Input a Date]#)) AND (((Transactions.Date)<=#[Input a Date]#));

是否有另一种方法来管理我不知道的日期或在查询中向用户询问日期的日期

【问题讨论】:

    标签: sql database ms-access ms-access-2010


    【解决方案1】:

    请查看user input criteria in queries的此链接

    您可以使用查询构建器为您完成这部分工作,然后在 SQL 编辑器上全面工作。

    在这种情况下,您让系统帮助您执行它接受用户输入的格式。

    【讨论】:

    • 我认为最好直接跳转到表单输入,这样,用户可以从日历控件中选择日期并且可以重复使用这些日期。不得不多次输入相同的日期令人沮丧,这通常是stackoverflow.com/a/97350/2548
    • 所以是的,在上面的链接中它展示了如何使用日历控件:-)
    • 是的,我看到了,如果我是新用户,我会放弃并带着这种复杂程度回家:) 已故的 D.W. Fenton 的例子看起来简单多了。
    • 是的,所有有用的资源。所有人都以不同的方式思考,好有更好的选择。为此+1。 Btw Remou, D.W.Fenton 去世了? :o
    【解决方案2】:

    看起来括号是语法错误的原因。试试下面。

    WHERE (((Date)>=[Input a Date1])) AND (((Date)

    【讨论】:

      【解决方案3】:

      发现这个帖子谷歌搜索了一个类似的问题:在 [param1] 和 [param2] 之间使用时查询返回错误值,而 params 应该是日期类型。 Access 不知道也不识别输入参数广告日期,但将它们视为文本。我也尝试编写 sql 语句来强制识别(以及转换,因为我们使用 dd/mm/yyyy 格式)但没有成功。 我解决了在查询设计视图中设置参数日期类型的问题,并且不需要格式化函数或在sql语句中包含#符号

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-08
        相关资源
        最近更新 更多