Использование нескольких полей со списком в Access в качестве критериев запроса не работают вместе, но использование одного поля со списком работает ?? Как заставить все комбо-боксы работать? - PullRequest
0 голосов
/ 19 апреля 2020

Похоже, когда я использую один Combo-box в качестве критерия, он работает очень хорошо, однако, используя больше, хотя выполнение тех же шагов не работает. Я не использую SQL, но я использую представление Design.

Как заставить все комбинированные окна работать вместе, чтобы обеспечить необходимые критерии.

1 Ответ

0 голосов
/ 19 апреля 2020

Если вы хотите отфильтровать форму или список, используя данные, выбранные из нескольких полей со списком, вам потребуется создать RowSource «на лету» на основе сделанных выборов.

Ниже приведено Пример кода, который использует выбор из 2 полей со списком (cboCountry и cboRMZone) для создания RowSource для списка (lstCountry):

Private Sub cboCountryZone_AfterUpdate()
    Call sSearchMultiple
End Sub

Private Sub cboRMZone_AfterUpdate()
    Call sSearchMultiple
End Sub

Private Sub Form_Load()
    Call sSearchMultiple
End Sub

Private Sub sSearchMultiple()
    On Error GoTo E_Handle
    Dim strSQL As String
    If Not IsNull(Me!cboCountryZone) Then strSQL = strSQL & " AND CountryZone_PK=" & Me!cboCountryZone
    If Not IsNull(Me!cboRMZone) Then strSQL = strSQL & " AND RMZone_PK=" & Me!cboRMZone
    If Left(strSQL, 4) = " AND" Then
        strSQL = " WHERE " & Mid(strSQL, 6)
    End If
    If Len(strSQL) > 0 Then
        Me!lstCountry.RowSource = "SELECT CountryName FROM dbo_svr_Country " & strSQL & " ORDER BY CountryName ASC;"
    Else
        Me!lstCountry.RowSource = "SELECT CountryName FROM dbo_svr_Country ORDER BY CountryName ASC;"
    End If
sExit:
    On Error Resume Next
    Exit Sub
E_Handle:
    MsgBox Err.Description & vbCrLf & vbCrLf & "Form3!sSearchMultiple", vbOKOnly + vbCritical, "Error: " & Err.Number
    Resume sExit
End Sub

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...