Prikazi cijelu temu 28.02.2012 15:54
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Lokacija:Osijek


Predmet:Re: Pitanja u vezi procedura i pisanja koda
Evo ja ću pitati.
Meni ponekad nije najjasnije kako se procedura iz modula poziva iz druge procedure, sa forme ili iz querya.
Evo npr. kako bi pozvao ovu tvoju funkciju iu primjera
PreuzmiIzvorni kôd (vbnet):
  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

Pozdrav