[ Sergio Mrav @ 21.08.2009. 17:45 ] @
| Znaci, treba da popunim neku formu na kojoj nije neophodno da budu popunjena sva polja. Samo su odredjena obavezna. Problem je u tome, sto ako korisnik slucajno preskoci tu formu i ostavi je praznu i nastavi dalje da radi meni pravi totalni kurslus u programu... |
[ Getsbi @ 21.08.2009. 18:34 ] @
Na događaj On Click command button-a uneseš za svako obavzno polje ograničenje tipa:
If IsNull(Me![TvojeObaveznoPolje]) Then
MsgBox "Morate uneti vrednost", vbCritical, "Pažnja"
Me![TvojeObaveznoPolje].SetFocus
End If
Tako se VBA kod koji sledi iza neće izvršavati dogod korisnik ne unese vrednost.
[ Sergio Mrav @ 21.08.2009. 19:02 ] @
To bi trebalo da je to, ali taj code posle if se izvrsava... Znaci pritisnem OK i posle toga nastavi po svom...
[ Getsbi @ 21.08.2009. 19:17 ] @
Da. Taj kod staviš odmah iza deklaracija, a pre izvršenja operacija koje zavise od unetih vrednosti.
[ Sergio Mrav @ 21.08.2009. 19:32 ] @
Stavio sam tako...
Evo coda u mom programicicu:
Private Sub Forma_Isprave_Click()
On Error GoTo Err_Forma_Isprave_Click
Dim stDocName As String
Dim stLinkCriteria As String
If IsNull(Me![Prezime]) Then
MsgBox "Podaci nisu ispravno unešeni", vbCritical, "Greška"
Me![Prezime].SetFocus
End If
DoCmd.Close acForm, "frmTrazeniPodaci_OsnovniPodaci"
stDocName = "frmTrazeniPodaci_Isprave"
DoCmd.OpenForm stDocName, , , , acFormAdd
Exit_Forma_Isprave_Click:
Exit Sub
Err_Forma_Isprave_Click:
MsgBox Er.Description
Resume Exit_Forma_Isprave_Click
End Sub
... ali opet nece...
Javi da nesto fali, ali posle toga opet otvori novu formu..
[ Scelle @ 21.08.2009. 19:54 ] @
Ispod
Code:
Me![Prezime].SetFocus
dodaj samo
Code:
Exit Sub
[ Getsbi @ 21.08.2009. 20:04 ] @
Zaboravio sam da napišem. Nakon Set Focus zbog nepopunjenog polja, trebalo bi da napusti subrutinu. Treba tako kako je Scelle napisao.
[ Sergio Mrav @ 21.08.2009. 20:05 ] @
Hvala vam puno momci, to je to....
Stavio sam samo za jedno obavezno polje predlozeni kod, a za ostatak sam obaveznih polja samo ispred komande za zatvaranje te i otvaranje nove forme stavio
DoCmd.GoToRecord , , acNewRec
stim sto sam u tabelama obelezio obavezna polja.
Jer mi se desavalo da ako ne popunim nijedno polje da otvara sledecu formu, a ako popunim bar jedno polje onda javi da moraju da budu popunjena sva zahtevana polja.
Jeste malo seljacka varijanta, ali mozda nekome moze biti i od koristi....:)
[ Getsbi @ 21.08.2009. 20:16 ] @
Nije seljački. Čak šta više. Mnogo je sigurnije u tabelama definisati koja su polja Required. Ja ovu metodu sa kodom koristim samo kad su u pitanju nevezane forme i nevezana polja. Recimo: Unesite početni datum i završni datum.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.