[ dankolal @ 29.01.2005. 08:48 ] @
Pozdrav
Molim vas ako mi mozete pomoci oko sljedece stvari. Zanima me kako kada upisem u textbox vrijednost on provjeri da li se ta vrijednost nalazi u tablici. Ako se ne nalazi izbacuje msgbox.
Hvala
[ Simke @ 29.01.2005. 22:27 ] @
Ukratko, treba ti query koji prima parametar (to sto ces ukucati u text box). Provera broja vracenih rezultata se vrsi sa recordset-om. Pogledaj TOP topic "Access - tehnike programiranja", tu je objasnjeno kako se koriste recordsets.
[ izonic @ 31.01.2005. 17:26 ] @
Ova funkcija ti je bila na forumu.
Evo Ovako

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 služi za traženje zadanog podatka u zadanoj Tabeli u zadatom polju i vraća vrijednost
'Ako ima True i ako nema podatka False
'Ulazne vrijednosti su: ImeTabela kao string ImePolja kao string i Vrijednost kao tražena vrijednost
'Ako je vrijednost string onda se piše pod znacimea navoda
'Ako je vrijednost datum onda se piše kao: "#05/05/2000#"
'Ako je vrijednost Yes/No onda se piše kao: Yes=-1 No=0
'Ako je vrijednost brojčana onda se piše broj bez znakova navoda
'Autor funkcije(ZXZ)
'-------------------------------------------------------------------------------
Set DB = CurrentDb() 'Setovanje baze
a = Val(Vrijednost) 'Brojčana vrijednost ulaznog podatka ako je ima
If a <> Vrijednost Then 'Ako je brojčana vrijednost različita od vrijednosti onda nije broj
If Left(Vrijednost, 1) <> "#" Then 'Ako je na prvom mjestu znak # onda je datum
Vrijednost = "'" & Vrijednost & "'" 'Pošto 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 'Inače
NadjiVrijednost = True 'Vrijednost je true
End If
Set DB = Nothing
rst.Close 'Zatvori rekordset(Qyery)
End Function

dim Art as String
aret="Kafa"
if NadjiVrijednoat("Artikli","ImeArtikla",Art)=true then
MsgBox "Artikal: " & Art & "se nalazi u tabeli"
endif