【问题标题】:MS-Access: input Quarter-of-year dataMS-Access:输入季度数据
【发布时间】:2016-03-14 22:22:33
【问题描述】:

基本上,我需要允许用户以 Qq/yyQq/yyyy 格式输入数据(即“Q4/2015”,其中“Q4”表示 2015 年最后一个季度或去年,而不是第 4 个月)。

我知道我可以获取 DateTime 值并将其格式化为 Format()这不是我需要的。

我需要为用户提供一个带有输入控件的表单,他/她可以在其中输入上述格式的数据并将此值存储在数据库中,以便我以后可以执行报告和比较(例如从2015 年第 2 季度至 2016 年第 1 季度)。

所以我有两个问题。

  1. 输入控制。
  2. 我的数据库中的数据类型。

如果我只是在表中取一个text 字段并将输入掩码设置为Q0/0099,我的查询就会出现问题,因为我无法将记录与<> 进行比较。

如果我使用数字或日期字段,我不知道如何正确设置工作输入掩码以按我需要的方式设置输入。

有什么提示吗?

【问题讨论】:

    标签: forms date datetime ms-access ms-access-2010


    【解决方案1】:

    您需要一个 DateTime 值以供以后进行计算和比较。

    您可以有两个并列的文本框,分别保存季度和年份,然后使用 DateSerial:

    Me!Date.Value = DateSerial(Nz(Me!Year.Value, Year(Date)), (Val(Right(Nz(Me!Quarter.Value, Format(Date, "q")), 1)) - 1) * 3 + 1, 1)
    

    您也可以应用输入掩码,但许多用户不喜欢这些。

    要将日期显示为Q4/2015,请设置格式属性:\Qq\/yyyy

    或使用=Format(Me!Date, "\Qq\/yyyy") - 或仅使用季度或年度部分。

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多