Private Sub ImePolja_AfterUpdate()
Dim a As Boolean
a = NadjiVrijednost("ImeTabele", "ImePolja", Me.ImeKontroleNaFormi)
If a = True Then
MsgBox "Ovaj podatak postoji"
Me.ImeKontrole.SetFocus
Me.ImeKontrole = Null
Me.ImeKontrole.SetFocus
End If
End Sub
Function NadjiVrijednost(ImeTabele As String, ImePolja As String, Vrijednost As Variant) As Boolean
Dim db As Database
Dim rst As Recordset
Dim Sql, a As Variant
'_________________________________________________ ____________
'Ova funkcija sluzi za trazenje zadanog podatka u zadanoj Tabeli u zadatom polju i vraca vrijednost
'ako ima True i ako nema podatka False
'Ulazne vrijednosti su: ImeTabela kao string ImePolja kao string i Vrijednost kao trazena vrijednost
'Ako je vrijednost string onda se pise pod znacimea navoda
'Ako je vrijednost datum onda se pise kao: "#05/05/2000#"
'Ako je vrijednost Yes/No onda se pise kao: Yes=-1 No=0
'Ako je vrijednost broj?ana onda se pise broj bez znakova navoda
'Autor funkcije(ZXZ)
'-------------------------------------------------------------------------------------
Set db = CurrentDb() 'Setovanje baze
On Error Resume Next
a = Val(Vrijednost) 'Brojcana vrijednost ulaznog podatka ako je ima
If a <> Vrijednost Then 'Ako je brojcana vrijednost razlicita od vrijednosti onda nije broj
If Left(Vrijednost, 1) <> "#" Then 'Ako je na prvom mjestu znak # onda je datum
Vrijednost = "'" & Vrijednost & "'" 'Posto je string treba dodati znake navoda
End If
End If
Sql = "SELECT " & ImeTabele & "." & ImePolja & " FROM " & ImeTabele _
& " WHERE (((" & ImeTabele & "." & ImePolja & ")=" & Vrijednost & "));"
Set rst = db.OpenRecordset(Sql) 'Setovanje tabele
If rst.RecordCount = 0 Then 'Ako je broj redova 0 tada
NadjiVrijednost = False ' NadjiVrijednost je false
Else 'Inace
NadjiVrijednost = True 'Vrijednost je true
End If
Set db = Nothing
rst.Close 'Zatvori rekordset(Qyery)
End Function
zxz