[ blingaro @ 02.06.2024. 10:42 ] @
Imam jednu bazu u kojoj postoje dve tabele. U tabeli Zabelezba se unose podaci o razgovoru sa učenikom. Druga tabela je Klasifikacija sa podacima o školi. Imam formu Zabelezba koja je vezana za tabelu Zabelezba. Na njoj postoji dugme koje otvara report (izveštaj „RazgovorSaUcenikom“) za štampu koji je vezan za tabelu Zabelezba i određenog učenika. Na reportu postoje nekoliko polja od kojih su ključna dva: Datum i Broj. Pitanje glasi: kako da napravim da kada se report otvori i kada je datum manji od 1.1.2024., u reportu u polju Broj bude upisan samo broj iz tabele, a kada je datum veći od 1.1.2024. bude upisano Klasifikacija iz tabele PodaciOSkoli+ Broj

Dakle nešto kao:

Private Sub Report_Open(Cancel As Integer)
If Me.Datum < #1/1/2024# Then
Me.Broj = Me.Broj
Else
Dim Klasifikacija As String
Klasifikacija = DLookup("Klasifikacija", "PodaciOSkoli")
Me.Broj = Klasifikacija & "/" & Me.Broj
End If

End Sub

Ne mora u VBA. Čitao sam da može i preko Expression Builder-a koji se upiše u Controul Source izveštaja, ali mi ni ta varijanta nije pošla od ruke.
[ Getsbi @ 03.06.2024. 07:56 ] @
Pošto u zaglavlje izvestaja možeš smestiti podatke samo iz prvog zapisa tabele ili upita, najbolje je da napraviš upit iz obe tabele:
Zabelezba + Klasifikacija. Tko ćeš imati zbirni izvor podatak koji će ti poslužiti za tvoj iveštaj. Potom primeni svoju ideju sa VBA kodom.
Ako bude potrebe pročitaj kako da napraviš UNION upit sa opciom (All) ili bez nje.
[ SLOJ.1973 @ 03.06.2024. 14:52 ] @
Mozda ovako.
[ blingaro @ 03.06.2024. 16:30 ] @
Citat:
SLOJ.1973: Mozda ovako.


To je to. Malo gimnastike za mozak koja mi nije pala na pamet, ali bitno je da funkcioniše.

Hvala.