0

これには2週間近くかかりましたが、他に何をすべきかわかりません。サブフォーム (TestUserSub) を持つメイン フォーム (UserSearch) があります。両方の形式に関連付けられているテーブルは tblusers です。とても簡単です。メイン フォーム (UserSearch) には、tblusers のフィールド (cmbid、cmbname、cmbdept など) に関連付けられた ComboBox があります。私が望むのは、ユーザーがこれらのコンボボックスのいずれかから選択し、関連するフィールドをサブフォーム (TestUserSub) に表示することだけです。いくつかの ComboBox の after update イベントでいくつかの異なるバージョンのコードを試しましたが、サブフォームで何も起こらず、他のインスタンスでエラー メッセージが表示されます。私が試した1つの例は、SQLコマンドの実行をフィルタリングすることです

Private Sub cmbid_AfterUpdate()

    Dim strSQL As String

    If IsNull(Me.cmbaccess) Then
        Me.RecordSource = "tblusers"
    Else
        strSQL = "SELECT tblUsers.[Team Member_ID] FROM tblUsers " & _
             "WHERE (((tblUsers.[Team Member_ID])= " & [form_testusersub].[txtid2]))& ";"       
        Me.RecordSource = strSQL
    End If

End Sub

上記はうまくいきませんでした...誰かが私を助けてくれますか。私が取り組んでいるサンプルデータベースがあり、非常に奇妙な方法で、コードを呼び出すことなくこれと同じことを行うことができました。これは可能ですか?

4

1 に答える 1

0

以下のサンプルを使用してコードを理解できました

Private Sub yourcombobox_AfterUpdate()
    Dim LSQL  As String

    If IsNull(Me.yourcombobox.Value) Then
        Form_yoursubform.RecordSource = "tablename"
        Me.yoursubform.Requery
        requerysubform 'macro to requery the whole form
    Else
        LSQL = "select * from tablename"
        LSQL = LSQL & " where field= '" & yourcombobox & "'"

        Form_yoursubform.RecordSource = LSQL
        requerysubform 'macro to requery the whole form

    End If
End Sub

お役に立てれば。

于 2009-06-25T19:57:36.070 に答える