pmiroslav 03.04.2012 07:51
Predmet:Re: Zabrana duplog unosa

Molio bih jo jednu pomoč oko ovaga.
U gornjem primjeru ispod textBoxu OIB je procedura:
PreuzmiIzvorni kôd (vbnet):
  1. Private Sub OIB_BeforeUpdate(Cancel As Integer)
  2. Dim Rs As DAO.Recordset
  3. Dim Podatak
  4. Dim Provjera As Boolean
  5.  
  6. Podatak = Trim(Me.OIB)
  7. Provjera = ProvjeriOIB(Podatak)
  8. If Provjera = False Then
  9. MsgBox " Neispravan OIB"
  10. Me.Undo
  11. Exit Sub
  12. End If
  13. If Provjera = True Then
  14. If Format$(Podatak) <> "" Then
  15. Set Rs = Me.Form.RecordsetClone
  16. Rs.FindFirst "[OIB] ='" & Podatak & "'"
  17. If Rs.NoMatch Then GoTo Kraj
  18. Me.Undo
  19. Me.Bookmark = Rs.Bookmark
  20. End If
  21. End If
  22. Kraj:
  23. End Sub
Problem je Å¡to se nako poruke MsgBox " Neispravan OIB" sa Me.Undo isprazne sva polja koja se prije toga upisao, a trebalo bi da se samo isprazni polje OIB.
Pokušao sam Me.OIB.Value = ""; Me.OIB=Null; Cancel = True

Ali ništa ne sluša.

roko 03.04.2012 10:26
Predmet:Re: Zabrana duplog unosa

_BeforeUpdate ima samo dvije opcije ili spremi ili ukloni možda da sa cjelom funkciom ideš na _AfterUpdate pa ako je neispravan ili postoji

Private Sub OIB_AfterUpdate()
Dim Rs As DAO.Recordset
Dim Podatak
Dim Provjera As Boolean
Podatak = Trim(Me.OIB)
Provjera = ProvjeriOIB(Podatak)
If Provjera = False Then
MsgBox " Neispravan OIB"
Me.Firma.SetFocus
Me.OIB.SetFocus
Me.OIB = ""
Exit Sub
End If
If Provjera = True Then
If Format$(Podatak) <> "" Then
Set Rs = Me.Form.RecordsetClone
Rs.FindFirst "[OIB] ='" & Podatak & "'"
If Rs.NoMatch Then GoTo Kraj
Me.Bookmark = Rs.Bookmark
End If
End If
Kraj:
End Sub

pmiroslav 03.04.2012 12:57
Predmet:Re: Zabrana duplog unosa

Mislim da je to O.K.
Previdio sam da se BeforeUpdate ne može isprazniti samo jedan textBox

Hvala.