Изменить источник listbox, если выбрана другая опция в группе опций

Связь между таблицами : https://i.imgur.com/Pni922e.png у меня есть 4 таблицы, левая таблица «владелец» и информация о владельце, средняя левая таблица «порядок» и содержит информацию о порядке, средняя правая таблица соединяет таблицу «порядок» и таблицу «о кондиционере».
Поэтому я сделал форму, которая выглядит так: https://i.imgur.com/qOFf67w.png
Я хочу, когда» Nije započeto «в группе опций отмечен, чтобы показать только владельцев, которые имеют»статус premeta»[в таблице Narudžba]=»Nije započeto». Поэтому, когда группа опций» U procesu «будет отмечена, я хочу показать только владельцев, которые имеют» U procesu «в поле» Status premeta».

Я написал код, но он не работает.

Private Sub Okvir17_AfterUpdate()

If Frame2 = 1 Then 'Nije započeto
strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail " _
            & "FROM Vlasnik " _
            & "WHERE [Status predmeta] = 'Nije započeto' " _

If Frame2 = 2 Then 'U procesu
strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail, " _
            & "FROM Vlasnik " _
            & "WHERE [Status predmeta] = 'U procesu' " _

If Frame2 = 3 Then 'Na čekanju
strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail " _
            & "FROM Vlasnik " _
            & "WHERE [Status predmeta] = 'Na čekanju' " _

If Frame2 = 4 Then 'Fakturirati
strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail " _
            & "FROM Vlasnik " _
            & "WHERE [Status predmeta] = 'Fakturirati' " _


If Frame2 = 5 Then 'Završeno
strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail " _
            & "FROM Vlasnik " _
            & "WHERE [Status predmeta] = 'Završeno' " _


End If

List2.RowSource = strRowsource1

End Sub

1 ответ

  1. Решив ее, я должен был сделать внутреннее соединение. Окончательный код :

    Private Sub Frame2_Click()
    
    If Frame2 = 1 Then 'Nije započeto
    strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail, Narudžba.[Status predmeta] " _
                & "FROM Vlasnik INNER JOIN Narudžba ON Vlasnik.ID_VU = Narudžba.ID_VU " _
                & "WHERE Narudžba.[Status predmeta] = 'Nije započeto' " _
    
    
    
    ElseIf Frame2 = 2 Then 'U procesu
    strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail, Narudžba.[Status predmeta] " _
                & "FROM Vlasnik INNER JOIN Narudžba ON Vlasnik.ID_VU = Narudžba.ID_VU " _
                & "WHERE Narudžba.[Status predmeta] = 'U procesu' " _
    
    
    
    ElseIf Frame2 = 3 Then 'Na čekanju
    strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail, Narudžba.[Status predmeta] " _
                & "FROM Vlasnik INNER JOIN Narudžba ON Vlasnik.ID_VU = Narudžba.ID_VU " _
                & "WHERE Narudžba.[Status predmeta] = 'Na čekanju' " _
    
    
    
    ElseIf Frame2 = 4 Then 'Fakturirati
    strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail, Narudžba.[Status predmeta] " _
                & "FROM Vlasnik INNER JOIN Narudžba ON Vlasnik.ID_VU = Narudžba.ID_VU " _
                & "WHERE Narudžba.[Status predmeta] = 'Fakturirati' " _
    
    
    
    ElseIf Frame2 = 5 Then 'Završeno
    strRowsource1 = "SELECT Vlasnik.ID_VU, Vlasnik.[Naziv tvrtke], Vlasnik.[Ime korisnika], Vlasnik.[Prezime korisnika], Vlasnik.[Adresa korisnika], Vlasnik.Telefon, Vlasnik.Mail, Narudžba.[Status predmeta] " _
                & "FROM Vlasnik INNER JOIN Narudžba ON Vlasnik.ID_VU = Narudžba.ID_VU " _
                & "WHERE Narudžba.[Status predmeta] = 'Završeno' " _
    
    
    
    
    
    
    End If
    
    
    List2.RowSource = strRowsource1
    
    
    End Sub