访问使用列表框中选择的项目更新子表单

时间:2015-10-27 15:15:32

标签: ms-access listbox subform

我有以下代码执行以下操作: 1.从视图表中删除数据 2.将主数据从主表追加到主表 3.选择ID&附加记录的产品nr并填充在视图表中 4.清除主窗体上的控件 5.刷新表单

注意:ID Listbox Rowsource是视图表中的Select ID查询。单击列表框中的ID时,子窗体将填充。但是我想在填充ID框后提示子窗体填充。

问题:在附加记录后,ID列表框会填充,它会选择项目,但是子表单(通过Master-Child链接)不会重新查询在列表框中选择的ID nr的记录数据。 / p>

Private Sub cmdInsert_Click()
Dim ctl As Control
DoCmd.SetWarnings (WarningsOff)
CurrentDb.Execute "delete from EC_ID_Table"
DoCmd.OpenQuery ("EC_Insert_New_Record")
DoCmd.OpenQuery ("EC_ID_Table qry")
For Each ctl In Form_frmEC.Controls
Select Case ctl.ControlType
Case acTextBox
    If ctl.Name <> "ID" Then
        ctl.Value = ""
    End If
    Case acOptionGroup, acComboBox, acListBox
    ctl.Value = Null
Case acCheckBox
    ctl.Value = False
End Select
Next
DoCmd.SetWarnings (Warningson)
MsgBox "Insert Complete!"
Me.Form.Refresh
Me.ID.Selected(0) = True
End Sub

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试刷新子表单。我认为它是这样的:

Forms!Mainform!Subform1.Form.Refresh 

(在适用的情况下更改Mainform和Subform1的名称)。

否则,您可以尝试重建RecordSource:

Forms!Mainform!Subform1.Form.RecordSource = "SELECT * FROM MyTable"