Tehnika Krstarice > Programiranje > VBA - Ograničavanje broja podataka u izveštaju

VBA - Ograničavanje broja podataka u izveštaju

07.02.2001.

Često se dešava da vam prilikom formiranja izveštaja u Access-u trebaju samo selektivni podaci. Jedno od rešenja je da upitom ograničite broj podataka za prikaz, u recimo nekom izveštaju (Report), ali na ovaj način ne omogućavate korisnicima da oni sami izaberu šta im treba od podataka. Jedno od rešenja je korišćenje multi-select listbox-a, i na taj način omogućavanje višestrukog izbora podataka. Na primer, postavićemo na formu jedan listbox i osobinu "Multi Select" ćemo postaviti na Simple. Pored ove liste ćemo postaviti dugme koje će pozivati izvršenje upita, a zatim je moguće i generisanje izveštaja. Kriterijumi upita će da se popunjavati uz pomoć izabranih stavki iz listbox-a. Ubacite sledeći VBA kod u događaj "Click" dugmeta:

Private Sub btn_Upit_Click()
Dim stavka As Variant
Dim strSta As String
Dim strZarez As String
Dim strSQL As String
Dim upit As QueryDef

    strSta = "":    strZarez = ","
    For Each stavka In Me!Lista.ItemsSelected
        strSta = strSta & Me!Lista.ItemData(index)
        strSta = strSta & strZarez
    Next stavka

    Me!txtCriteria = CStr(Left$(strSta, Len(strSta) - Len(strZarez)))
    Set upit = CurrentDb.QueryDefs("qryVisestrukiUpit")

    strSQL = "SELECT * "
    strSQL = strSQL & "FROM Radnik WHERE MBR"
    strSQL = strSQL & " IN (" & Me!txtCriteria & ")"

    upit.SQL = strSQL
    upit.Close
    DoCmd.OpenQuery "qryMultiSelTest"
End Sub

Šta se ovde dešava? Pa prvo formiramo kriterijum od stavki iz liste i smeštamo ga u varijablu "strSta". Potom, čisto radi informacije korisniku, u tekst polju "txtCriteria" prikazujemo šta je sve izabrano. Onda definišemo SQL upit i prosleđujemo ga na izvršenje.

Preporučite ovaj članak

Članak još uvek nije ocenjen.