Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dinamički napunjen report - ne štampa kako treba

[es] :: Access :: Dinamički napunjen report - ne štampa kako treba

[ Pregleda: 2218 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Brodoplovac
Beograd

Član broj: 171299
Poruke: 838
*.adsl.verat.net.



+166 Profil

icon Dinamički napunjen report - ne štampa kako treba30.06.2014. u 19:10 - pre 118 meseci
Cilj mi je da napunim izveštaj direktno iz posojećeg recordseta, a da ne moram da dovlačim podatke iz tabela. Pošto to nije moguće onda koristim trik gde jedna jednostavna tabela pokreće kreiranje izveštaja, a ostali podaci se dodaju iz VBA.

U pitanju su sledeći koraci:
1) Napravim rekordset.
2) Imam tabelu sa 10.000 rekorda i jednim fildom. Pomoću SQL upita uzimam iz te tabele onoliko rekorda koliko ima prethodno kreirani rekordset i sa tim upitom pokrećem OpenReport komandu.
3) Izveštaj ima neke unboundovane fildove. Njih punim u Detail_Print eventu sa podacima iz rekordseta. Tako dobijamo izveštaj koji je uglavnom napunjen dinamički.

Dešava se da dobijam korektni izveštaj, ali on neće da se štampa kako treba. Ako ga štampam direktno (acViewNormal) onda se odštampa kako treba. Ako ga otvorim u Preview-u, on se otvori kako treba ali posle toga nastaju sledeći problemi prilikom štampanja:

- Prvih n-1 rekorda se ne odštampa, a poslednji rekord se pojavljuje n puta (Windows XP i Access 2003).
- Uopšte neće da se štampa (Windows 7 i Access 2010).
- Da se izveštaj delimično odštampa, ali na poslednjoj stranici piše tekst (Windows 7 i Access 2010):
ERROR: syntaxerror
OFFENDING COMMAND: --nostringval--
STACK:


Ono što sam probao bez uspeha je:
- Da report inicijalno bude (ili ne bude) baundovan za ovu tabelu sa 10000 rekorda.
- Da report ima (ili nema) jedan boundovan fild iz te tabele od 10000 rekorda.
- Da rekordset bude DAO tipa dobijen boundovanjem forme (kao u atačovanom fajlu) ili da koristimo ADO diskonektovani rekordset dobijen preko VBA.
- Da napravimo novi fajl u kome ću rekonstruisati čitav proces. Ni ovo ne pomaže. Znači, ista stvar i sa MDB i sa ACCDB.


U prilogu je primer. U ovom primeru tblReportDriver je tabela sa 10000 rekorda. tblPodaci je tabela na osnovu koje je napravljen rekordset.
Forma frmPodaci sadrži dugme koje pokreće izveštaj u ReportView-u. Kada se izveštaj otvori u ReportView-u on izgleda kako treba, ali neće da se štampa.

Znači, kada otvorite atačovani fajl u formi frmPodaci kliknete na dugme. Otvoriće se izveštaj koji će OK izgledati. Probajte da odštampate u PDF virtuelnom štampaču i tada će se pojaviti neki od navedenih problema.

Da li ima leka?

Prikačeni fajlovi
 
Odgovor na temu

Zoran.Eremija
Zoran Eremija
SYSTEM ANALYST
Freelancer
Beograd

Član broj: 251342
Poruke: 855
*.kbcnet.rs.

Sajt: zoraneremija.wix.com/erem..


+47 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba30.06.2014. u 21:05 - pre 118 meseci
Jesam plovio brodom, ali moram priznati da iz svega napisanog i priloženog nisam razumeo koja Vam je funkcija cilja?!?!?
Najviše zbunjuje naslov teme "Dinamički napunjen report" ?!?
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba01.07.2014. u 08:26 - pre 118 meseci
Nisam pogledao kod, ali provjeri da nemaš negdje BeforePrint postavljanje nekih varijabli ili slično a da ih ne postavljaš na nulu. Jer BeforePrint se okida dva puta, kod Previewa i kod ispisa.
F
 
Odgovor na temu

Brodoplovac
Beograd

Član broj: 171299
Poruke: 838
*.beorol.rs.



+166 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba01.07.2014. u 10:21 - pre 118 meseci
Citat:
Jesam plovio brodom, ali moram priznati da iz svega napisanog i priloženog nisam razumeo koja Vam je funkcija cilja?!?!?

Cilj je da se otvaranjem forme puni recordset, a da se onda iz tog recordseta puni izveštaj. Želim da izbegnem ponovno povlačenje podataka iz tabela.
Citat:
Najviše zbunjuje naslov teme "Dinamički napunjen report" ?!?

Mislim na izveštaj kome su podaci naknadno ubačeni iz postojećeg rekordseta.

Citat:
Nisam pogledao kod, ali provjeri da nemaš negdje BeforePrint postavljanje nekih varijabli ili slično a da ih ne postavljaš na nulu. Jer BeforePrint se okida dva puta, kod Previewa i kod ispisa.

Ne znam koji je to event, niti čiji je to event. Ja radim sa Detail_Print eventom. Nešto mi nema logike da se neki event okida kada se Report pošalje na štampu. Mislim da bi svaka naknadna promena narušila verodostojnost Print Preview-a.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2828



+45 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba01.07.2014. u 12:55 - pre 118 meseci
Citat:
Brodoplovac: Cilj mi je da napunim izveštaj direktno iz posojećeg recordseta, a da ne moram da dovlačim podatke iz tabela. Pošto to nije moguće onda koristim trik gde jedna jednostavna tabela pokreće kreiranje izveštaja, a ostali podaci se dodaju iz VBA.


Koncept Recordseta je osmišljen da bi se radilo sa kopijom tabele. To podrazumeva insertovanje, ažuriranje i brisanje zapisa. Za štampanje nema smisla sem ako ne želiš da štampaš zapis po zapis odnosno da kontrolišeš zaustavljanjem i ponovnim pokretanjem. A za to je potreban sasvim drugi pristup.
Za nedovlačenje podataka iz tabele je dovoljan SQL upit kao izvor podataka za izveštaj. Upit je u stvari virtuelni pogled nad tabelom. To najbrži i najefikasniji pristup.
 
Odgovor na temu

Brodoplovac
Beograd

Član broj: 171299
Poruke: 838
*.beorol.rs.



+166 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba01.07.2014. u 13:35 - pre 118 meseci
Citat:
Za nedovlačenje podataka iz tabele je dovoljan SQL upit kao izvor podataka za izveštaj. Upit je u stvari virtuelni pogled nad tabelom. To najbrži i najefikasniji pristup.

SQL jeste efikasan način jer uvek radi. Najbrži nije sigurno jer se podaci moraju uzimati sa hard diska. Ja bih hteo da ih uzmem iz RAM memorije. Samo kada bih još mogao normalno da štampam.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba01.07.2014. u 14:40 - pre 118 meseci
Ako želiš brzinu stavi u string listu i onda kupi podatke iz string liste.
F
 
Odgovor na temu

Brodoplovac
Beograd

Član broj: 171299
Poruke: 838
*.beorol.rs.



+166 Profil

icon Re: Dinamički napunjen report - ne štampa kako treba01.07.2014. u 14:59 - pre 118 meseci
Citat:
Ako želiš brzinu stavi u string listu i onda kupi podatke iz string liste.

Šta tačno podrazumevate pod string listom?
Mada, meni nije problem odakle da uzmem podatke jer imam na raspolaganju rekordset koji je u RAM memoriji. Meni je problem kako da te podatke pretvorim u odštampanu kopiju.
 
Odgovor na temu

[es] :: Access :: Dinamički napunjen report - ne štampa kako treba

[ Pregleda: 2218 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.