MS Access 2016报告中的输入框

时间:2017-01-26 23:12:21

标签: excel-vba ms-access access-vba access ms-access-2016

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

enter image description here

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

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

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

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

如果用户需要更改它,请保留名为&#39; PO#&#39;的txtbox。并将代码添加到报告的load事件中。

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