MS Access 2016 Reports 中的输入框

Input box in MS Access 2016 Reports

我是 MS Access 新手。我创建了一个从 excel 中提取数据并显示在 MS Access 表单输出中的报告。我添加了一个文本框,在 Properties->Control Source 中添加了 "PO#",如图 1 所示。

因此,用户在尝试打开报告时在对话框中输入值,如下图 2 所示。我需要在对话框中以 "LDXXXX" 格式添加默认值,其中 XXXX 是财政年度。我有如下逻辑生成财政年度:

If month <= 8 then
  Current year
else
  current year + 1

不知道在哪里实现。当用户尝试打开表单时,对话框应具有上述格式作为默认值,并且它应填充在图 1 中的文本框中。我知道当我们单击文本并转到时可以访问三个事件"build events"-宏、代码或表达式构建器,但如何为对话框实现它?

如果源数据中不存在 PO#,则可能不应将其作为对照源引用。用户是否需要更改 LDXXXX 默认值,或者您是否实施此操作以确保填充该值?如果是后者,您可能只使用类似这样的东西作为 texbox 的控制源:

="LD" & IIf(Month(Date())<8,Year(Date()),Year(Date())+1)

如果用户需要更改它,请保留名为 'PO#' 的文本框并将代码添加到报告的加载事件中。

Private Sub Report_Load()
Me.[PO#] = InputBox("Fiscal Year:", "Fiscal year", "LD" & IIf(Month(Date) < 8, Year(Date), Year(Date) + 1))
End Sub