Predmet:Re: spajanje polja miksanje
greska domene kod odredivanja teme
radi se o Access-u
ustvari imam više Querija koji se izvršavaju u jednom Case-u
ovo je primjer jedne od mnogo funkcija na isti fol
kad je jedno konto u pitanju nije ih problem sastavit li kad ima više onda je problem
Public Function BSAktiva()
firmaN = "AKTIV.FIRMA = " & firma
FIRMA1 = "ts.FIRMA_id = " & firma
godinaN = "TS.godina = " & godina - 1
godina1 = "TS.godina = " & godina
godina3 = "TS.godina = " & godina
period = "TS.PERIOD = '" & OP & "'"
period1 = "TS.ObracinskiPeriod = '" & OP & "'"
GODINA2 = "STAVGK.period = " & godina
period2 = "STAVGK.ObracinskiPeriod = '" & OP & "'"
firma2 = "STAVGK.FIRMAid = " & firma
vro = "AOP_NAZIV.VR='BS'"
SQL = "INSERT INTO [bilans aop arhiva stanja] ( [redni broj], aop, [Grupa konta], Opis, zaBILJESKA, [tekuca godina], [Predhodna godina], firma_ID, ObracinskiPeriod, godina, [ispravka vrijednosti] ) "
'UPIS IZRACUNA IZ PODATAKA U OSNOVNI RED
SQL1 = SQL & "SELECT AOP_NAZIV.aop AS rb, AOP_NAZIV.aop, AOP_NAZIV.Grupakonta, AOP_NAZIV.[Naziv polja], AOP_NAZIV.BILJESKA, ROUND(Sum(STAVGK!Duguje)-Sum(STAVGK!Potrazuje)) AS [tekuca godina], TS.[Predhodna godina], AKTIV.firma, AKTIV.ObracinskiPeriod, AKTIV.godina, 0 AS ISP "
SQL2 = SQL1 & "FROM (AKTIV INNER JOIN ([T sintetika] AS TS INNER JOIN AOP_NAZIV ON (TS.aop = AOP_NAZIV.AOP) AND (TS.VR = AOP_NAZIV.VR)) ON AKTIV.firma = TS.firma) INNER JOIN STAVGK ON (AKTIV.ObracinskiPeriod = STAVGK.ObracinskiPeriod) AND (AKTIV.godina = STAVGK.period) AND (AKTIV.firma = STAVGK.firmaID) "
SQL3 = SQL2 & "WHERE " & godinaN & " And " & period & " And " & vro & " And " & firmaN & " And AOP_NAZIV.VrOrg=" & VrOrg
'UPIS ISPRAVKE VRIJEDNOSTI
SSQL1 = "SELECT Round(Sum([stavgk]![potrazuje])-Sum([stavgk]![duguje]),0) AS ISP "
SSQL2 = SSQL1 & "FROM ([bilans aop arhiva stanja] AS TS INNER JOIN STAVGK ON (TS.firma_ID = STAVGK.firmaID) AND (TS.ObracinskiPeriod = STAVGK.ObracinskiPeriod) AND (TS.godina = STAVGK.period)) INNER JOIN AKTIV ON (AKTIV.godina = TS.godina) AND (AKTIV.ObracinskiPeriod = TS.ObracinskiPeriod) AND (TS.firma_ID = AKTIV.firma) "
SSQL3 = SSQL2 & "WHERE " & godina1 & " And " & period1 & " And " & firmaN
'UPIS MEĐUZ BIROVA
MZBV = "SELECT AOP_NAZIV.aop AS rb, AOP_NAZIV.aop, AOP_NAZIV.Grupakonta, AOP_NAZIV.[Naziv polja], AOP_NAZIV.BILJESKA, Round(Sum([bilans aop arhiva stanja]![tekuca godina]),0) AS [tekuca godina], TS.[Predhodna godina], AKTIV.firma, AKTIV.ObracinskiPeriod, AKTIV.godina, Round(Sum([bilans aop arhiva stanja]![ispravka vrijednosti]),0) AS ISP "
MZBV1 = MZBV & "FROM (AKTIV INNER JOIN ([T sintetika] AS TS INNER JOIN AOP_NAZIV ON (TS.aop = AOP_NAZIV.AOP) AND (TS.VR = AOP_NAZIV.VR)) ON AKTIV.firma = TS.firma) INNER JOIN [bilans aop arhiva stanja] ON (TS.firma = [bilans aop arhiva stanja].firma_ID) AND (TS.period = [bilans aop arhiva stanja].ObracinskiPeriod) AND (AKTIV.firma = [bilans aop arhiva stanja].firma_ID) AND (AKTIV.godina = [bilans aop arhiva stanja].godina) AND (AKTIV.ObracinskiPeriod = [bilans aop arhiva stanja].ObracinskiPeriod) "
MZBV2 = MZBV1 & "WHERE " & firmaN & " And " & godinaN & " And " & period & " And AOP_NAZIV.VrOrg=" & VrOrg
MZB = SQL & "SELECT AOP_NAZIV.aop AS rb, AOP_NAZIV.aop, AOP_NAZIV.Grupakonta, AOP_NAZIV.[Naziv polja], AOP_NAZIV.BILJESKA, Round(Sum([bilans aop arhiva stanja]![tekuca godina]),0) AS [tekuca godina], TS.[Predhodna godina], AKTIV.firma, AKTIV.ObracinskiPeriod, AKTIV.godina, Round(Sum([bilans aop arhiva stanja]![ispravka vrijednosti]),0) AS ISP "
MZB1 = MZB & "FROM (AKTIV INNER JOIN ([T sintetika] AS TS INNER JOIN AOP_NAZIV ON (TS.aop = AOP_NAZIV.AOP) AND (TS.VR = AOP_NAZIV.VR)) ON AKTIV.firma = TS.firma) INNER JOIN [bilans aop arhiva stanja] ON (TS.firma = [bilans aop arhiva stanja].firma_ID) AND (TS.period = [bilans aop arhiva stanja].ObracinskiPeriod) AND (AKTIV.firma = [bilans aop arhiva stanja].firma_ID) AND (AKTIV.godina = [bilans aop arhiva stanja].godina) AND (AKTIV.ObracinskiPeriod = [bilans aop arhiva stanja].ObracinskiPeriod) "
MZB2 = MZB1 & "WHERE " & firmaN & " And " & godinaN & " And " & period
'UPIS ISPRAVKE VRIJEDNOSTI - VRIJEDI SAMO AKO JE JEDAN KONTO U IGRI
'ZA VIÅ E KONTA U USLOVU NOVI QUERY
Bsiv = "UPDATE [bilans aop arhiva stanja] AS TS INNER JOIN STAVGK ON (STAVGK.period = TS.godina) AND (TS.firma_ID = STAVGK.firmaID) AND (TS.ObracinskiPeriod = STAVGK.ObracinskiPeriod) SET TS.[ispravka vrijednosti] = Round([STAVGK]![Potrazuje]-[STAVGK]![Duguje]) "
Bsiv1 = Bsiv & "WHERE " & GODINA2 & " And " & period2 & " And " & FIRMA1
If SveGodine1 = False Then
a = "godina=" & godina & " And firma=" & firma
ElseIf SveGodine1 = True Then
a = "firma=" & firma
End If
Set AKT = CurrentDb().OpenRecordset("select * from upravljanje where " & a)
DoEvents
[Form_BilansBS].PBar.visible = True
For I = 1 To 100
Form_BilansBS.PBar = I
Select Case I
Case 1
'AOP 003
Set BSUPKISP = CurrentDb().OpenRecordset("select * from kontapromjenljivo where i=" & I & " and vrizv='BS' and " & a)
If BSISVProvjeraUK = True Then konto1 = "STAVGK.konto Like '0109*'" Else If Len(BSUPKISP!Konto) <> 0 Then konto1 = BSUPKISP!Konto Else konto1 = "STAVGK.konto Like '0109*'"
KONTO2 = Replace(konto1, "like", "not like") & ")"
Konto = "(STAVGK.konto Like '010*' And " & KONTO2 'STAVGK.konto Not Like '0109*')"
aop = "TS.aop = 3"
SQL4 = " AND " & Konto & " AND " & aop & " GROUP BY AOP_NAZIV.aop, AOP_NAZIV.aop, AOP_NAZIV.Grupakonta, AOP_NAZIV.[Naziv polja], AOP_NAZIV.BILJESKA, TS.[Predhodna godina], AKTIV.firma, AKTIV.ObracinskiPeriod, AKTIV.godina;"
SQL5 = SQL3 & SQL4
DoCmd.RunSQL SQL5
bsiv2 = Bsiv1 & " AND " & konto1 & " AND " & aop & ";"
DoCmd.RunSQL bsiv2
Case 5
'AOP 007
Set BSUPKISP = CurrentDb().OpenRecordset("select * from kontapromjenljivo where i=" & I & " and vrizv='BS' and " & a)
If BSISVProvjeraUK = True Then konto1 = "(STAVGK.konto) Like '0159*' and (STAVGK.konto) Like '0179*'" Else If Len(BSUPKISP!Konto) > 1 Then konto1 = BSUPKISP!Konto Else konto1 = "(STAVGK.konto) Like '0159*' and (STAVGK.konto) Like '0179*'"
KONTO2 = Replace(konto1, "like", "not like") & ")"
Konto = "((STAVGK.konto) Like '015*' Or (STAVGK.konto) Like '017*' And " & KONTO2
aop = "TS.aop = 7"
SQL4 = " AND " & Konto & " AND " & aop & " GROUP BY AOP_NAZIV.aop, AOP_NAZIV.aop, AOP_NAZIV.Grupakonta, AOP_NAZIV.[Naziv polja], AOP_NAZIV.BILJESKA, TS.[Predhodna godina], AKTIV.firma, AKTIV.ObracinskiPeriod, AKTIV.godina;"
SQL5 = SQL3 & SQL4
SQL6 = " AND " & konto1 & " AND " & aop & ";" 'GROUP BY AOP_NAZIV.aop, AOP_NAZIV.aop, AOP_NAZIV.Grupakonta, AOP_NAZIV.[Naziv polja], AOP_NAZIV.BILJESKA, TS.[Predhodna godina], AKTIV.firma, AKTIV.ObracinskiPeriod, AKTIV.godina;"
DoCmd.RunSQL SQL5
bsiv2 = Bsiv1 & " AND " & konto1 & " AND " & aop & ";"
DoCmd.RunSQL bsiv2
i tako dalje njih cca 150