MS-Access:输入季度数据

时间:2015-12-09 15:14:00

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

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

我知道我可以使用DateTime值并使用Format()格式化,但这不是我需要的内容。

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

所以我有两个问题。

  1. 输入控制。
  2. 我的数据库中的数据类型。
  3. 如果我只是在表格中选择text字段并将输入掩码设置为Q0/0099,我的查询就会出现问题,因为我无法将记录与<进行比较和>

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

    请提供任何提示?

1 个答案:

答案 0 :(得分:0)

您需要一个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") - 或仅使用季度或年份。