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 に答える