[ blingaro @ 24.12.2013. 16:34 ] @
U primeru koji sam postavio imam formu Uverenje. U nju se unose podaci i štampaju se uverenja. E sad, pošto se propisi u toku godine menjaju, napravio sam tabelu „Zaglavlje“ i „Napomena“ u koje unosim od kad do kad neki propis važi. Kako da izvedem to da kada izaberem određeno uverenje za štampu, na reportu bude ispisan odgovarajući propis koji je u tom periodu bio na snazi. Pretpostavljam da ide nešto sa Dlookup, pa sam to i stavio u text box-u na izveštaju, ali je potrebna dorada. Uneo sam tri probna rekorda sa 3 različita datuma. Znam da može da se napravi onoliko različitih reportova koliko postoji kombinacija i da se u zavisnosti od datuma pozove onaj koji je pravi. Ali složićete se da to nije najbolje rešenje, jer se propisi mogu menjati bukvalno svakodnevno, a to iziskuje pravljenje gomile reporta. Hvala unapred na pomoći.
[ Getsbi @ 24.12.2013. 16:56 ] @
Record Source izveštaja ne treba da se zasniva samo na tabeli Uverenje, već na upitu koji povezuje tu tabelu sa ostalim tabelama.
Recimo ovako nešto:
Code:
SELECT Uverenje.BrojUverenja, Uverenje.Datum, Uverenje.Ime, Uverenje.Prezime, Zaglavlje.Zaglavlje, Napomena.Napomena
FROM (Uverenje INNER JOIN Zaglavlje ON (Uverenje.Datum = Zaglavlje.VaziDo) AND (Uverenje.Datum = Zaglavlje.VaziOd)) INNER JOIN Napomena ON Zaglavlje.RedniBroj = Napomena.RedniBroj
WHERE (((Uverenje.Datum) Between [Zaglavlje].[VaziOd] And [Zaglavlje].[VaziDo]));

To će ti obezbediti povezane Napomene i Zaglavlja sa datumom Uverenja.
[ nenadmarkoni @ 24.12.2013. 18:05 ] @
Ja sam imao slučaj da atribut PravniOsnov u entitetu Dokument uzima kao DefaultValue vrijednost atributa VrstaPravniOsnov entiteta VrstaDokumenta. Kad se promjeni pravni osnov mijenjate ga u entitetu VrstaDokumenta a kada se popunjava Dokument imate mogućnost i da dopišete i promjenite ono što je upisano kao Default.Pretpostavljam da je i napomena ono što je kod mene bilo Obrazlozenje, a vrijednost takodje uzima na isti nacin.

[ blingaro @ 24.12.2013. 19:20 ] @
Citat:
Getsbi:

Code:
SELECT Uverenje.BrojUverenja, Uverenje.Datum, Uverenje.Ime, Uverenje.Prezime, Zaglavlje.Zaglavlje, Napomena.Napomena
FROM (Uverenje INNER JOIN Zaglavlje ON (Uverenje.Datum = Zaglavlje.VaziDo) AND (Uverenje.Datum = Zaglavlje.VaziOd)) INNER JOIN Napomena ON Zaglavlje.RedniBroj = Napomena.RedniBroj
WHERE (((Uverenje.Datum) Between [Zaglavlje].[VaziOd] And [Zaglavlje].[VaziDo]));

To će ti obezbediti povezane Napomene i Zaglavlja sa datumom Uverenja.


Ovo sam probao kako je Getsbi rekao, ali ne radi. Uopšte ne izbacuje ni jedan podatak na uverenju (Primer1). Pokušao sam da prepravim i da ubacim i "Napomenu" u uslov, ali ni to nije dobro (Primer 2).

Inače, ovo što je napsao "nenedmarkoni" znam da funkcioniše, ali ja na reportu imam npr. 10 pasusa gde su neki zakoni. Ja bi hteo da oni budu automatski upisani u zavisnosti od datuma na uverenju, a ne da ih ja sklapam kao kockice. Ima li neko rešenje?
[ nenadmarkoni @ 24.12.2013. 19:34 ] @
Citat:
... ali ja na reportu imam npr. 10 pasusa gde su neki zakoni. Ja bi hteo da oni budu automatski upisani u zavisnosti od datuma na uverenju, a ne da ih ja sklapam kao kockice. Ima li neko rešenje?

Ništa se ne sklapa. Uverenja-tj.Dokument ne sklapate retroaktivno. U trenutku formiranja uverenja on će kao DefaultValue polja PravniOsnov preuzeti ono što je u tom trenutku upisano u VrstaPravniOsnov entiteta VrstaDokumenta tj. vazeci PravniOsnov. To će po azuriranju ostati upisano u atributu PravniOsnov dokumenta. Kada se promjeni zakon tj. PravniOsnov vi ga promjenite u entitetu VrstaDokumenta i od tada na dalje svaki novoformirani Dokument preuzima novu vrijednost... :-)
[ Getsbi @ 24.12.2013. 21:09 ] @
Moja greška. Samo sam u SQL-u nakucao ideju bez provere. Evo Zoran je doradio moju ideju.
Sad ti iskoristi QUverenje kao RecordSource za izveštaj.
[ Zoran.Eremija @ 24.12.2013. 21:41 ] @
Evo da dodam kompletirano
[ blingaro @ 25.12.2013. 15:58 ] @
Hvala svima na trudu. Primer koji je u prilogu funkcioniše. Pozdrav.