Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 2.244 pregleda

Najnovija ↓

Runtime report greška 12.09.2010. u 22:23 · pre 196 meseci #1
Da bih izbegao prikaz praznih izveštaja, za Report sam postavio sledeći kod:
Code:
Private Sub Report_NoData(Cancel As Integer)
    MsgBox "Nema podataka za štampu!", vbInformation, "Obaveštenje"
    Cancel = True
End Sub

To je sve u redu kada se aplikacija koristi u punoj verziji Accessa (2007 ako je bitno). Message box lepo javi da nema podataka, sa OK se potvrdi da je poruka primljena k znanju, a prazan report se ne otvara.
Ali, u runtime okruženju, nakon OK klika, javlja se i sledeća greška:



Kako da je izbegnem?
Re: Runtime report greška 12.09.2010. u 22:32 · pre 196 meseci #2
On Error Resume Next

u kodu koji poziva report.
Potpis
Pozdrav,
Branislav
Re: Runtime report greška 12.09.2010. u 22:41 · pre 196 meseci #3
U tom slučaju iskoči ova greška:



U full Accessu je opet sve OK.
Re: Runtime report greška 12.09.2010. u 23:01 · pre 196 meseci #4
Liči mi da imaš neku drugu grešku onda.

Princip je da kad koristiš OnNoData događaj da prekineš otvaranje izveštaja (Cancel = True) onda program koji poziva izveštaj dobije od izveštaja grešku da postupak nije uspešno obavljen. Ta greška mora da se "tretira" tj. "hendluje".

Zato ono On Error Resume Next kaže "ako se desi greška, zanemari je i nastavi dalje izvršavanje" jer očekujemo da se desi i znamo koja je. To "On Error Resume Next" ne stavljaš u OnNoData već u Sub koji poziva izveštaj.

Ako ima više linija programa osim one koja poziva izveštaj u toj procedure, onda može ovako:

If Err.Number <> 2501 Then Msgbox Err.Description
Resume Next


Err.Number = 2501 je greška od izveštaja (neuspešno otvaranje).

Provereno radi tako.
Potpis
Pozdrav,
Branislav
Re: Runtime report greška 12.09.2010. u 23:18 · pre 196 meseci #5
Ma prilično mi je jasno kako to funkcioniše, bar sam mislio da je tako, i kod sam upisao na pravom mestu, ali jednostavno nešto ne štima :(
Ako bazu preimenujem u .accdr ekstenziju, ili program porenem kroz "C:\Program Files\Microsoft Office 2007\Office12\Msaccess.exe" /runtime svič, greške postaju fatalne. Opet ponavljam, u punom Access okruženju, sve fercera bez problema...
Re: Runtime report greška 13.09.2010. u 01:14 · pre 196 meseci #6
Za Runtime program mora da je čist - sve promenljive da su definisane, sve komande ispravne, sve greške da se presreću, itd.

Za početak uradi Tools > Compile i pogledaj da li negde prijavljuje grešku. Pogledaj da li u svakom modulu na početku ima Option Explicit (svaka promenljiva mora da je definisana).

"Prljavo" programiranje radi u Accessu, ali ne radi u Runtime, zato moraš da napraviš da je program potpuno ispravan. Inače će prijaviti grešku čak i na funkciju Date() - što mi se ranije dešavalo, pa nisam mogao da se načudim, kako može Date() da je neispravno.
Potpis
Pozdrav,
Branislav
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme