【发布时间】:2017-01-25 22:42:56
【问题描述】:
我在第 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。
-
你能在调试模式下单步调试代码,看看哪里出错了吗?它返回第 4 行,因为那是调用 ConstructQuery 方法的行。但是,如果您单步执行代码,您可能会发现真正的罪魁祸首。