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

Zašto error handler ne radi "svoj posao"?

[es] :: Access :: Zašto error handler ne radi "svoj posao"?

[ Pregleda: 2277 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SLOJ.1973

Član broj: 130198
Poruke: 871
*.adsl.eunet.rs.



+41 Profil

icon Zašto error handler ne radi "svoj posao"?04.01.2012. u 22:09 - pre 149 meseci
Ljudi,ima li neko ideju zašto ovaj kod ne valja,tj zašto error handler se preskače i izbacuje se poruka accessova,umesto moja.Samo da oobjasnim da pokušavam da obrišem neki rekord koji je nemoguće obrisati,jer je povezan sa drugom tabelom i već je u upotrebi.Znači nije problem, što ne mogu da ga obrišem,već je problem presretanja accessove poruke.Da napomenem da samm probao i preko recordset-a i na formin error dodadavao error handler,ali bezuspešno,uvek se izbaci accessova poruka.
Code:
Private Sub cmdBrisi_Click()

On Error GoTo Err_cmdBrisi_Click:

If MsgBox("Da li zaista zelite da obrisete podatak?", vbYesNo, "STOP-TRAJNO GUBLJENJE PODATKA") = vbYes Then
DoCmd.SetWarnings False
        DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
        DoCmd.SetWarnings True
        MsgBox "Podatak obrisan!"
 Else
 MsgBox "Odustali ste u pravo vreme.", vbExclamation, "NEMA BRISANJA"
 End If
    
Exit_cmdBrisi_Click:
    Exit Sub

Err_cmdBrisi_Click:

Select Case err.Number
Case 3200
MsgBox "PODATAK JE U UPOTREBI,I NEMOGUCE GA JE OBRISATI", vbCritical, "STOP-NEPOZELJNO BRISANJE"
Case 2046
MsgBox "PODATAK NE POSTOJI", vbCritical, "STOP-NEPOSTOJECI PODATAK"
Case 3396
MsgBox "PODATAK JE U UPOTREBI,I NEMOGUCE GA JE OBRISATI", vbCritical, "STOP-NEPOZELJNO BRISANJE"

Case Else
    MsgBox err.Description & err.Number
    End Select
    Resume Exit_cmdBrisi_Click
    
End Sub


Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 06:47 - pre 149 meseci
Ja to radim ovako:
Code:
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
    If MsgBox("Dali ste sigurni da zelite da obrisete zapis", vbYesNo, "Paznja") = vbNo Then
        Cancel = True
    Else
        Response = acDataErrContinue
    End If
End Sub


Ili na početku procedure staviti DoCmd.SetWarnings False. Na kraju procedure ponovo uključiti
Access poruke sa DoCmd.SetWarnings True. Ukloniti se može samo na nivou sistema:
Tools -> Options ->Edit/Find ->Confirm (Access 2003)

Bitan je odabir događaja ili Options postavke.
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 08:51 - pre 149 meseci
Getsbi,hvala na odgovoru,ja vec imam na beforedelconfirm taj kod ,ali nista.Sada sam pokusao na drugom kompu i ovde je sve ok.Ne znam,videcu sta je problem.Hvala jos jednom.
Jednog dana...
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 16:39 - pre 149 meseci
Error handler ne javlja gresku jer greska nije u kodu. Kod poziva menije i iz menija izdaje komendu za brisanje. Tu nema nista sporno. Onog momenta kad se izda komanda za brisanje, kod je zavrsio i nema greske u kodu. Grseka nastaje zbog uslova integriteta. Istu grsku bi dobio kad bi rucno pokusao da obrsise taj rekord. uslovi integritetta sprecavaju brisanje, poruku ti javlja baz, JET engine, jer je greska tamo otkrivena.

Nacin da ovo kontrolises jeste upotreba forminog Error eventa. U helpu je nakd bio primer kako se to radi. Primer u helpu obradjuje inesrtovanje u tabelu i poruke o duplikatima i foreign key narusavanjima. Potrebno je znati kod greske i onda je tamo presresti. U tvom slucaju, kod greske je 3200 i treba je presresti u formoin Error eventu. Probaj da nadjes to u helpu ili na Google. Ovde na forumu sam bar dva puta objasnajvao kako ovo radi i dao primere koda. Ja naravno ne umem da nadjem te stare teme, Getsbi je mnogo bolji u tome, a mozda nesto ima i u bazi znanja.

Ako ti ne uspe da nadjes, javi s eponovo, pa cu da iskopam neki primer lokano kod mene.
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.adsl.eunet.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 18:32 - pre 149 meseci
Hvala Zidar,ali ja imam formin error handler-pogledaj sliku.Ono što me zabrinjava je to što na drugom kompu sve radi ok,a kod mene zakazuje i izbacuje grešku,koja niti je formina niti iz koda.A evo sada imam i ovde:http://www.elitesecurity.org/t...e-isn-enough-memory-to-perform grešku.Nešto tu ne valja,ali sam ja jako umoran,pa verovatno ne vidim.

Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 19:15 - pre 149 meseci
Aj pošalji tu formu gde ne radi error handler. Nešto si garant zaboravio u VBA. Plus tabele (mogu i prazne).
Pozdrav,
Branislav
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 19:20 - pre 149 meseci
Evo teme gde je razmatran Error handler i njegova pravilna upotreba: http://www.elitesecurity.org/t77220-0#493236
Mada se čini da je problem negde drugde, a ne u presretanju grešaka, pogotovo što na jednom kompu radi, na drugom ne.

 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.adsl.eunet.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:05 - pre 149 meseci
Evo ,kod mene znači izbacuje i u novoj bazi istu grešku,zaobilazeći sve error handlere.
Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:18 - pre 149 meseci
Kao što sam i mislio. :)

Pošto na tvom ne radi, a na drugom radi, prvo što sam pomislio je da si na svom računaru isključio Tools > Options > Edit/Find > Confirm.

Kada je to isključeno, onda Access "ne podiže" grešku, pa Error Handler nema šta da presretne. Uključi te opcije i program radi.
Pozdrav,
Branislav
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.adsl.eunet.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:25 - pre 149 meseci
Već je bilo uključeno:

Jednog dana...
Prikačeni fajlovi
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:29 - pre 149 meseci
Kod mene se tako ponaša samo kad su te opcije isključene(?) Inače radi.
Pozdrav,
Branislav
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:31 - pre 149 meseci
Jedino što mi pada na pamet je da pre komande za brisanje proveriš da li postoji po ID zapis u vezanoj tabeli. Tek ako ne postoji pustiš program na db.Execute.
Pozdrav,
Branislav
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.adsl.eunet.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:32 - pre 149 meseci
Kod mene ne radi ni ostala dugmad,znači dugme za prelazak na sledeći rekord da kada dođe do poslednjeg,trebalo bi da izbaci moju poruku o grešci,a on izbacuje svoju.Kod ostalih formi,koje imaju sličnu komandnu dugmad,sa identičnim error handlerom rade ok.
Jednog dana...
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.adsl.eunet.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:35 - pre 149 meseci
Ma sve je to ok,to mogu da odradim,ali me nervira što na drugom kompu radi besprekorno,a kod mene ne!!! Hoću da znam ZAŠTO!
Evo šta sesada dešava:Kada sa SHIFT-om uđem u bazu-radi,kada uđem bez shift-a( vidljiv je samo onaj famozni meni:licni) neće.
Jednog dana...
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Zašto error handler ne radi "svoj posao"?05.01.2012. u 20:45 - pre 149 meseci
To liči na neka podešavanja koja su na nivou instalacije kao one potvrde. Kad ih isključim i kod mene ne radi. E sad šta je tačno, vrag će ga znati. Zato su Amerikanci smislili reč "workaround". :)

Prođi kroz sve opcije pa pogledaj da li su na default, možda si još nešto menjao što ima veze.
Pozdrav,
Branislav
 
Odgovor na temu

SLOJ.1973

Član broj: 130198
Poruke: 871
*.dynamic.isp.telekom.rs.



+41 Profil

icon Re: Zašto error handler ne radi "svoj posao"?10.01.2012. u 13:11 - pre 149 meseci
Samo da dodam da sam resio gore navedeni problem,tako sto sam reinstalirao msoffice.Znaci reseno je,problem je bio u office-u.Hvala svima,koji su se trudili da mi pomognu.
Jednog dana...
 
Odgovor na temu

[es] :: Access :: Zašto error handler ne radi "svoj posao"?

[ Pregleda: 2277 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

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