我有一个主表单,当您单击一个按钮时,它会打开另一个表单,其中包含列表框中的值。我想要的是单击其中一个值并让该值以另一种形式填充文本框。
我尝试了几种不同的方法,这就是我目前正在尝试开始工作的方法。
在主窗体中:
Private Sub txtFindInvoice_AfterUpdate()
If IsNull(Me.OpenArgs) = False Then
txtFindInvoice = strSelectedInvoice
End If
End Sub
在第二种形式中:
Private Sub lstInvoices_Click()
DoCmd.OpenForm "SummaryByInvoice1", acNormal, , , , , lstInvoices.Value
Forms!SummaryByInvoice1.Refresh
DoCmd.Close acForm, "frmSearchByMonth"
End Sub
主窗体是“SummaryByInvoice1”,打开的窗体是“frmSearchByMonth”。文本框是 txtFindInvoice,列表框是 lstInvoices。
我认为,归根结底是,即使我在 SummaryByInvoice1 的代码中引用了我在此处设置的 OpenArgs 值,表单实际上并没有被重新打开,因此 OpenArgs 仍然被读取为空白。
我尝试在打开 frmSearchByMonth 时关闭 SummaryByInvoice1,这解决了问题。然而,这不是一个可行的选择,因为 frmSearchByMonth 从大量数据中提取并且加载速度有点慢。因此,我不能有几秒钟的空白屏幕。如果有办法将关闭延迟几秒钟,那可能会奏效。
任何帮助表示赞赏。谢谢。