【问题标题】:Passing keys from form to sub-form in Access在 Access 中将键从表单传递到子表单
【发布时间】:2021-09-07 14:33:47
【问题描述】:

我正在使用子表单同时分配多个任务。该子表单放置在一个具有适用于所有任务的通用详细信息的表单上。例如:客户、产品代码、零件代码等,表单和子表单都将数据提供给同一个表。这些表单与表单和子表单中都存在的键之一 - 行项目相关联。其他两个键是任务标题 - 放置在子窗体上,阶段 ID 放置在主窗体上。 Line Item 的配置方式是从另一个打开的表单中填充主表单和子表单的值。

但 Access 不允许我向子表单添加任何详细信息。它给了我错误“您必须为 'TableName.LineItem' 字段输入一个值。

请多多指教。

【问题讨论】:

标签: ms-access


【解决方案1】:

两种方法:

选择表 A 并点击功能区上的创建表单。然后做通常的美化,比如删除 id 列,将表单格式设置为连续表单,并在适当的地方用组合框替换文本框。

第一种方法是在标题中放置未绑定的控件和一个按钮。然后在按钮单击事件中插入控件中的值

Private Sub cmbAddRecord_Click()
Dim db As Database
Set db = CurrentDb
Dim rs As DAO.Recordset
Set rs = db.OpenRecordset("TableA")
rs.AddNew
rs!A = Me.txtA
rs!B = Me.txtB
rs!C = Me.txtC
rs.Update
Me.Requery 'show changes
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
End Sub

例如,您还可以在主动输入数据的同时插入值

Private Sub A_AfterUpdate() 'A is the TextBox in the detail section that is bound to A in TableA and so forth
Me.B = B.Parent!txtB
Me.C = C.Parent!txtC 'Tip use Me.MyControlName.SetFocus to select a control
Me.Refresh 'show changes
'tip you can also put this code in hotkeys https://docs.microsoft.com/en-us/office/vba/api/access.form.keydown
End Sub
'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多