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

Kako izzbjeci access poruku o gresci

[es] :: Access :: Kako izzbjeci access poruku o gresci

[ Pregleda: 2382 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

boris_kp
Koper,Slo

Član broj: 42799
Poruke: 20
*.kp1.volja.net.



Profil

icon Kako izzbjeci access poruku o gresci08.06.2006. u 15:42 - pre 188 meseci
Pozdravljeni

Nasao sam ovaj kod za javljanje greske ako nisu upisani podaci. Kod odradi perfektno i javi mi da fale podaci ALI poslje toga se pojavi accessova poruka o gresci dali zelim upisati podatke.

MOJE PITANJE GLASI KAKO DA SE RIJESIM ACCESSOVE PORUKE

Gledao sam na forumu i na netu rad sa javljanjem gresaka ali mi nije jasno pa bi molio da mi kod ovog koda pomognete jer zelim da savladam to podrucje oko javljanja gresaka.


Private Sub Form_BeforeUpdate(Cancel As Integer)


'Place an asterisk (*) in the Tag Property of the text boxes you wish to validate.
'Then in the BeforeUpdate Event of the form, copy/paste the following:


Dim msg As String, Style As Integer, Title As String
Dim nl As String, ctl As Control


nl = vbNewLine & vbNewLine

For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Then
If ctl.Tag = "*" And Trim(ctl & "") = "" Then
msg = "Data Required for '" & ctl.Name & "' field!" & nl & _
"You can't save this record until this data is provided!" & nl & _
"Enter the data and try again . . . "
Style = vbCritical + vbOKOnly
Title = "Required Data..."
MsgBox msg, Style, Title
ctl.SetFocus
Cancel = True
Exit For
End If
End If
Next

End Sub

Puno pozdrava !!!
 
Odgovor na temu

fahre
Fahre Salchin
BiH

Član broj: 33406
Poruke: 35
*.PPPoE-3943.sa.bih.net.ba.



Profil

icon Re: Kako izzbjeci access poruku o gresci09.06.2006. u 11:45 - pre 188 meseci
I ja imam slican problem.
Naime. accessovim wizardom sam definisao combo box na jednoj formi kojim vrsim pretragu podataka jedne tabele.
U event-u on NotinlList sam definisao slijedeci kod:

Private Sub cmbPretrazivac_NotInList(NewData As String, Response As Integer)

If MsgBox("Navedeni prijevoznik nije na listi. Da li zelite da ga unesete?", vbYesNo, "upozorenje") = vbYes Then
DoCmd.OpenForm "unos novog prijevoznika"
Else
Me.cmbPretrazivac = Null
End If

End Sub

I sve radi kako treba, medjutim poslije moje poruke pojavi se i Access-ova poruka o gresci.

 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Kako izzbjeci access poruku o gresci09.06.2006. u 13:47 - pre 188 meseci
Ako stavite Error handling kod na neki Accessov event, javce vam gresku samo ako dodje do greke u kodu, ili greske koja izaziva pucanje koda (deljenje sa nulom na primer). Ako unesete duplikat, to ne mora da izazove gresku u kodu, pa vas error handler nece to uvatiti. isto se desava ako probate da unesete vrednost koja nije u validacionoj tabeli, a postoji relacija madju tabelama koja dozvoljava samo vrednosti iz validacione tabele (FOREIGN KEY). Dakle, error kod nece da radi, jer tehnicki i nema greske. Access javi poruku o gresci kad podatak pokusa da udje u tabelu i to nema nikakve veze sa formom. Otvorite tabelu direktno i pokusajte namerno da unesete duplikat. Dobicete poruku o gresci od Accessa, istu koju vidite i na formu.

Resenje je da se greske uhvate pomocu forminog Error eventa. pazite, nije error handler u nekom eventu, nego bas Event na formi, koji se zove OnError isli slicno. Otvorite Form properties, pa Events i negde pri dnu videcete Error event. Trazite HELP za taj event i vidite sta se desava. Access 97 je imao lepe primere, nisam siguran da novije verzije imaju tako lep help. A pisali smo i na forumu o tome, mozda ima i u Bazi znanja. Uglavno, proucite Form Error event. Tu se hvataju greske koje nisu run-time, nego tipa 'duplikat', 'referential integrity' i slicno, sve ono sto s edesava na nivou tabela, a ne na nivou forme.
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-3209.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: Kako izzbjeci access poruku o gresci09.06.2006. u 21:34 - pre 188 meseci
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Ovdje mozete presresti svoje greske na formi
Call TabelaGresaka
DataErr=0
Response=0
End Sub
zxz
 
Odgovor na temu

azras

Član broj: 79975
Poruke: 12
*.PPPoE-2017.sa.bih.net.ba.



Profil

icon Re: Kako izzbjeci access poruku o gresci12.06.2006. u 12:37 - pre 188 meseci
I ja imam isti problem, vec danima se patim.
Evo pokusala sam primijeniti ovaj savjet sa CallTabelaGresaka, al ne ide...
A nisam shvatila sta se to poziva, jel to neka postojeca tabela?
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-2401.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: Kako izzbjeci access poruku o gresci12.06.2006. u 15:48 - pre 188 meseci
Nije postojeca nego napravis svoju tabelu gresaka gdje upisujes greske.
Ja sam naveo samo gdje se mogu greske presresti i ideju kako ih dalje sloziti te da su na jednom mjestu.
Cini mi se da je Zidar jednom izbacio kod za upis u tabelu accessovih gresaka pa bi se mozda mogla samo ona prvesti i kao takva dobro bi koristila svima.
zxz
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
195.29.146.*



+8 Profil

icon Re: Kako izzbjeci access poruku o gresci13.06.2006. u 08:07 - pre 188 meseci
Azras ,

To ti ide ovako , nisam bas vjest u objasnjavanju , valjda ces skuziti

On error - ti je bitan
ako se desi neka greska u izvrsavanju programa , onda program skoci na
labelu gresi ( unutar nje obradjujes gresku )


Private Sub Command0_Click()

On Error GoTo gresi

If Right(odkud, 1) = "\" Then
Else

odkud = odkud + "\"
End If

Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(odkud)
Set fc = f.Files
brk = 0
s = ""
For Each f1 In fc
trt = Right(f1.Name, 12)
dat = Left(trt, 8)
dd = Left(dat, 2)
mm = Mid(dat, 3, 2)
gg = Right(dat, 4)

novid = dd & "/" & mm & "/" & gg
zadat = CDate(novid)

If zadat >= pocdat Then

If zadat <= zavdat Then
If UCase(Right(f1.Name, 3)) = "TXT" Then
brk = brk + 1
s = s & f1.Name & ";"
End If
End If
End If
Next
List10.RowSource = s
Dim pozmen As Integer
For j = 1 To brk - 1
List10.Selected(j) = True
imel.Caption = List10.Column(0, j)
pozmen = 0
pozmen = InStr(1, List10.Column(0, j), "_", vbTextCompare)
novi = Mid(List10.Column(0, j), pozmen + 1, Len(List10.Column(0, j)))
pozmen = InStr(1, novi, "_", vbTextCompare)
brknj.Caption = Left(novi, pozmen - 1)
popa = Mid(novi, pozmen + 1, Len(novi))
pozmen = InStr(1, popa, "_", vbTextCompare)
popr.Caption = Left(popa, pozmen - 1)
trt1 = Right(List10.Column(0, j), 12)
dat = Left(trt1, 8)
dd = Left(dat, 2)
mm = Mid(dat, 3, 2)
gg = Right(dat, 4)
novid = dd & "/" & mm & "/" & gg
zadat = CDate(novid)
datpop = zadat
stoto = odkud + List10.Column(0, j)
prepisi (stoto)
Me.Repaint
Next j

Exit Sub


gresi:

If Err = 76 Then

MsgBox "Ne postoji taj folder ( direktorij ) s podacima"
Exit Sub
else
' sve ostale greske
' javis da se pojavila greska
' i posaljes ga van iz sub
exit sub
End If
End Sub

eto
Pozdrav

Trtko

NE OBAZIRI SE NA KOD UNUTAR !!!
 
Odgovor na temu

[es] :: Access :: Kako izzbjeci access poruku o gresci

[ Pregleda: 2382 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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