Prikazi cijelu temu 07.04.2011 20:05
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Re: Provjera podatka u tabeli
Ova procedura provjerava dali u nekoj tabeli postoji odredjeni podatak i ako ima vraca true a ako nema false.
Proceduru kopirati u neki modul.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function NadjiVrijednost(ImeTabele As String, ImePolja As String, _
  2.                         Vrijednost As Variant) As Boolean
  3.  
  4. Dim db As Database
  5. Dim rst As DAO.Recordset
  6. Dim SQL, A As Variant
  7. '*****************************************************************************************
  8. 'Ova funkcija sluzi za trazenje zadanog podatka u zadanoj Tabeli u
  9. 'zadatom polju i vraca vrijednost
  10. 'ako ima True i ako nema podatka False
  11. 'Ulazne vrijednosti su: ImeTabela kao string ImePolja kao string i
  12. 'Vrijednost kao trazena vrijednost
  13. 'Ako je vrijednost string onda se pise pod znacimea navoda
  14. 'Ako je vrijednost datum onda se pise kao: "#05/05/2000#"
  15. 'Ako je vrijednost Yes/No onda se pise kao: Yes=-1 No=0
  16. 'Ako je vrijednost broj?ana onda se pise broj bez znakova navoda
  17. 'Autor funkcije(ZXZ)
  18. '********************************************************************************************
  19. Set db = CurrentDb() 'Setovanje baze
  20. A = Val(Vrijednost) 'Brojcana vrijednost ulaznog podatka ako je ima  
  21. If A <> Vrijednost Then 'Ako je brojcana vrijednost razlicita od _
  22.                         vrijednosti onda nije broj
  23. If Left(Vrijednost, 1) <> "#" Then 'Ako je na prvom mjestu znak # _
  24.                                     onda je datum
  25. Vrijednost = "'" & Vrijednost & "'" 'Posto je string treba dodati znake _
  26.                                     navoda " "
  27. End If
  28. End If
  29. SQL = "SELECT " & ImeTabele & "." & ImePolja & " FROM " & ImeTabele _
  30. & " WHERE (((" & ImeTabele & "." & ImePolja & ")=" & Vrijednost & "));"
  31.  
  32. Set rst = db.OpenRecordset(SQL) 'Setovanje tabele
  33.  
  34. If rst.RecordCount = 0 Then 'Ako je broj redova 0 tada
  35. NadjiVrijednost = False ' NadjiVrijednost je False
  36. Else 'Inace
  37. NadjiVrijednost = True 'NadjiVrijednost je True
  38. End If
  39. Set db = Nothing
  40. rst.Close 'Zatvori rekordset(Qyery)
  41. End Function
U tvojoj proceduri napises:
dim a as boolean
a=NadjiVrijednost(ImeTabele As String, ImePolja As String, Vrijednost As Variant) As Boolean
if a=true then
nesto da uradi
else
da uradi nesto drugo
endif
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.