Predmet:Re: Problem sa DMAX
Evo ti procedura pa je stavi u neki modul.
Option Compare Database
Option Explicit
PreuzmiIzvorni kôd (Visual Basic):Function Iznos(Red As Integer, Optional Konto As String = "6%", Optional Godina As Integer = 0, _
Optional Firma As Integer = 1, Optional Period As String = "GODISNJI")
'----------------------------------------------------------
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim SQL As String
Dim QDF As QueryDef
Dim I As Integer
If Godina = 0 Then Godina = Year(Date)
SQL = "SELECT top " & Red & " Sum([duguje]-[potrazuje]) AS Iznos, Left([stavgk]![konto],3) AS Sink " _
& "FROM stavgk " _
& "WHERE Left([stavgk]![konto],3) ALike '" & Konto & "' AND period=" & Godina _
& " AND firmaID=" & Firma & " AND ObracinskiPeriod='" & Period & "'" _
& "GROUP BY Left(konto,3)" _
& "HAVING Sum([duguje]-[potrazuje])<0 " _
& "ORDER BY Sum([duguje]-[potrazuje])"
Set Db = CurrentDb
Set Rs = Db.OpenRecordset(SQL)
For I = 1 To Red
Konto = Rs!sink
Rs.MoveNext
Next I
SQL = "SELECT top " & Red & " Sum([duguje]-[potrazuje]) AS Iznos, Left([stavgk]![konto],3) AS Sink " _
& "FROM stavgk " _
& "WHERE Left([stavgk]![konto],3) ALike '" & Konto & "' AND period=" & Godina _
& " AND firmaID=" & Firma & " AND ObracinskiPeriod='" & Period & "'" _
& "GROUP BY Left(konto,3)" _
& "HAVING Sum([duguje]-[potrazuje])<0"
Set QDF = Db.QueryDefs("QQ")
QDF.SQL = SQL
End Function
Moras napraviti i neki Query po zelji samo je bitno da se zove QQ.
Procedura se poziva po imenu ali ima i ulazne parametre samo je jedan obavezujuci.
Primjer
Cal Iznos(2,"6%",2014,3,"GODISNJI")
2-Znaci drugi najveci iznos (apsolutna vrijednost) obavezan unos
"6%"-Kriterij za konto koji ce uzimati ukoliko ne upises nista bit ce "6%"
2014- godina za koju radis. Ukoliko ne upises nista onda tekuca godina tj. 2016
3- Å ifra firme. Ukoliko ne upises nista onda je 1.
"Godisnji"- Period obracuna. Ukoliko ne upises nista onda je "GODISNJI"
znaci proceduru mozes pozvati i na ovaj nacin:
Call Iznos(2)
Rezultat ces naci u Query-ju QQ.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.