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):Function NadjiVrijednost(ImeTabele As String, ImePolja As String, _
Vrijednost As Variant) As Boolean
Dim db As Database
Dim rst As DAO.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
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 'NadjiVrijednost je True
End If
Set db = Nothing
rst.Close 'Zatvori rekordset(Qyery)
End Function
Pozdrav