【问题标题】:M/S - Access 2007 - Displaying Values of Parameters in a FORMM/S - Access 2007 - 在表格中显示参数值
【发布时间】:2009-09-28 15:00:41
【问题描述】:

我只是在学习Access 07和编码所以,这可能是一个非常简单的问题:

我有一个表格,我想显示参数的值,以便我知道我输入了什么。类似于 [开始日期] 和 [结束日期]。

“您的查询将从 2009 年 7 月 1 日开始,到 2009 年 7 月 10 日结束。”

我可以在报告“Parameters!Start Date.value”中执行此操作,但这在 FORM 中不起作用。

感谢您的帮助。

【问题讨论】:

    标签: ms-access forms parameters


    【解决方案1】:

    不要依赖查询来为您的开始日期和结束日期抛出输入框,只需制作一个包含开始日期和结束日期文本框的表单,然后在查询中引用这些文本框。

    所以而不是:

    Between [Start Date] and [End Date]
    

    做:

    Between Forms!MyForm!txtStartDate and Forms!MyForm!txtEndDate
    

    要将默认值放入文本框中,您可以在 Form.OnLoad 事件中使用 Date 函数。

    你可以说me.txtStartDate = Date,它会告诉你今天的日期。您可以从 Date 中添加或减去天数,并使用 DateAdd 函数添加或减去诸如 Months 之类的间隔。每月的第一天是

    CDate("1/" & Format(DateAdd("m", -1, Date), "mmm/yyyy"))
    

    一个月的最后一天是

    CDate("1/" & Format(dat, "mmm/yyyy")) - 1
    

    【讨论】:

    • 罗伯特,感谢您的快速回复。我的日期会有所不同,我不想将日期硬编码到查询中。实际上,我希望将参数设置为特定日期,但可以在需要时更改它们。可能将日期写入文本文件,然后每次启动 FORM 时将日期读入参数。
    • 我同意 Robert 的观点,我永远不会使用弹出式参数框 - 我总是将我的参数提供给表单中的查询。这提供了更大的灵活性,也可以让用户更直观。
    【解决方案2】:

    为了能够在表单上显示参数值,请在 SELECT 语句中回显参数,例如:

      PARAMETERS [Start Date] DateTime, [End Date] DateTime;
      SELECT MyTable.*, [Start Date] AS Starting, [End Date] AS Ending
      FROM MyTable
      WHERE MyTable.DateField Between [Start Date] And [End Date]));
    

    然后作为要显示参数的表单上的控件的控制源,您可以使用:

      ="Your query will start at " & [Starting] & " and end on " & [Ending] & "."
    

    或者,您可以将其放在查询的 SELECT 语句中:

      SELECT MyTable.*, "Your query will start at " & [Start Date] & " and end on " & [End Date] & "." AS Message
    

    ...然后您将使用 Message 字段作为控件的控制源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多