私は4行目(Me.ConstructQuery)でランタイムエラー2465を取得し続けます。私はタブコントロールが埋め込まれたフォームを持っています。すべてのタブにはサブフォームが含まれます。私は、各タブ内の複数のコンボボックスから各サブフォームを照会できるようにしたい。アクセスのサブフォームのフィルタリング
Option Compare Database
Public Sub cboLastName_AfterUpdate()
Me.ConstructQuery
End Sub
Function ConstructQuery()
Dim sFilter As String
If Nz(Me.qryHardware.Form.cboUserID, "") <> "" Then
sFilter = "UserID=" & Me.qryHardware.Form.cboUserID
End If
If Nz(Me.qryHardware.Form.cboLastName, "") <> "" Then
sFilter = "LastName=" & Me.qryHardware.Form.cboLastName
End If
Me.qryHardware.Form.Filter = sFilter
Me.qryHardware.Form.FilterOn = True
End Function
Private Sub cboBranch_Change()
Dim strSQL As String
'populate userID comboBox
Me.cboUserID.ColumnCount = 2
Me.cboUserID.ColumnWidths = "0, 2cm"
strSQL = "SELECT ID, UserID FROM Users WHERE BranchID=" & Me.cboBranch.Value
Me.cboUserID.RowSource = strSQL
'populate last name comboBox
Me.cboLastName.ColumnCount = 1
Me.cboLastName.ColumnWidths = "2cm"
strSQL = "SELECT LastName FROM Users WHERE BranchID=" & Me.cboBranch.Value
Me.cboLastName.RowSource = strSQL
'poplulate first name comboBox
Me.cboFirstName.ColumnCount = 2
Me.cboFirstName.ColumnWidths = "0, 2cm"
strSQL = "SELECT ID, FirstName FROM Users WHERE BranchID=" & Me.cboBranch.Value
Me.cboFirstName.RowSource = strSQL
'populate account Status comboBox
Me.cboAccountStatus.ColumnCount = 2
Me.cboAccountStatus.ColumnWidths = "0, 2cm"
strSQL = "SELECT ID, AccountStatus FROM Users WHERE BranchID=" & Me.cboBranch.Value
Me.cboAccountStatus.RowSource = strSQL
End Sub
はもう一度、例外をスロー報告ラインは Me.ConstructQuery
感謝何かアドバイスや提案です。
ありがとうございます。
contstructqueryだけでその行を行う必要があります。 –
デバッグモードでコードをステップ実行して、行が失敗する場所を確認できますか?これは、ConstructQueryメソッドを呼び出す行であるため、行4を返します。しかし、コードをステップ実行すれば、本当の原因を見つけることができます。 –