【发布时间】:2017-09-21 21:02:18
【问题描述】:
*****已编辑
所以我有一个名为“NewInvoice”的表格。此表单编辑包含以下内容的“发票”表;发票号码、客户、订单日期。在这个表单中,我有一个按钮,可以打开一个名为“InvoiceItem”的子表单。这将编辑一个包含发票编号、项目代码、尺寸等的同名表。
目前,我的按钮有一个事件过程如下。
私有子 CreateInvoiceItem_Click()
DoCmd.OpenForm "InvoiceItem", OpenArgs:="InvoiceNumber"
结束子
(我使用按钮并在单独的窗口中打开表单的原因是因为当我将子表单插入父表单时,子表单中的级联组合框会损坏)
现在我遇到问题的地方是设置表单加载命令。我想要发生的是,当单击按钮时,在父表单中填写的 InvoiceNumber 会自动填写子表单。
私有子Form_Load()
**** 需要的代码****
结束子
【问题讨论】:
-
有几种方法可以做到这一点。最简单的方法是构建表单/子表单排列,不需要代码。对于其他方法,您做了哪些研究?当您开发具有特定问题的代码时,请发布问题。
-
嗯,我在网上浏览了一些地方,发现了一些我不太了解的解决方案。对我来说最重要的是我不只是想简单地复制其他人的代码并让它工作,我想知道要使用哪些工具以及代码实际在做什么,以便我可以将其应用于其他情况。所以是的,我可以使用一个直接连接的子表单,但是这个解决方案对我不起作用,因为在连接的子表单中我有我编码的级联组合框。当我尝试将它们用作主表单中的子表单时,这些又不起作用。
-
如果 RowSource 是结构正确的 SQL 语句,组合框将起作用。在第二个(依赖)组合框的 SQL 语句中不要使用表单名称,只需引用第一个(主)组合框的名称,如:
SELECT fieldname FROM tablename WHERE ID = [combobox name];。这确实假设两个组合框都在子表单上。最好将数据控件命名为与其绑定的字段不同的名称,例如cbxID。
标签: forms ms-access autofill openargs