1

我有一个带有子表单的表单,该表单由ID. 问题是子窗体有一个组合框,需要主窗体中的行源参数。

该表格是关于销售电话的,他们需要能够根据需要链接许多提案和合同。提案和合同列表的组合框需要与本次销售电话的工厂或客户相关。

我知道我可以Forms!FormName!ControlName获取工厂清单,但这是否意味着我有设计问题?

或者当用户单击主表单中组合框中的元素时,我应该填写一个列表吗?但后来我必须自己处理保存和删除。

谢谢

4

1 回答 1

1

如果子表单需要主表单才能正常运行,您可以检查父表单。例如:

Private Sub Form_Open(Cancel As Integer)
Dim strParent As String
Dim strSubname As String

    GetParent Me, strParent, strSubname

    If strParent = "None" Then
        MsgBox "This is not a stand-alone form.", , "Form Open Error"
        Cancel = True
    End If
End Sub

Function GetParent(frm, ByRef strParent, ByRef strSubname)
Dim ctl

On Error Resume Next
    strParent = frm.Parent.Name
    If Err.Number = 2452 Then
        Err.Clear
        strParent = "None"
    Else
        For Each ctl In frm.Parent.Controls
            If ctl.ControlType = acSubform Then
                If ctl.SourceObject = frm.Name Then
                    strSubname = ctl.Name
                End If
            End If
        Next
    End If

End Function
于 2012-10-22T16:27:19.020 回答