Bosna i Hercegovina



#1 10.10.2016-13:56
kenan Offline
Clan
Registrovan/a od: 10.02.2011-15:24
Komentari: 182


Subject: spajanje polja miksanje
Htjeo bi spojiti spojiti dva uslova naprimjer
i="(STAVGK.konto) Like '0229*' and (STAVGK.konto) Like '0239*' and (STAVGK.konto) Like '0249*'"
ii="((STAVGK.konto) Like '022*' Or (STAVGK.konto) Like '023*' Or (STAVGK.konto) Like '024*')"
dobiti rezultat
a="((STAVGK.konto) Like '022*' and (STAVGK.konto) not Like '0229*' Or (STAVGK.konto) Like '023*' and (STAVGK.konto) not Like '0239*' Or (STAVGK.konto) Like '024*' and (STAVGK.konto) not Like '0249*)"'
↑  ↓

#2 10.10.2016-20:04
zxz Online
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,452


Subject: Re: spajanje polja miksanje
Ako ti nije tesko zakaci tabelu sa podacima lakse ce biti kada vidimo kakvi su podaci.
Posto se post nalazi u bazama podataka neznamo ni o kakvoj se bazi radi.
Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 10.10.2016-20:05 od strane zxz. ↑  ↓

#3 11.10.2016-14:46
kenan Offline
Clan
Registrovan/a od: 10.02.2011-15:24
Komentari: 182


Subject: 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
↑  ↓

#4 12.10.2016-10:50
zxz Online
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,452


Subject: Re: spajanje polja miksanje
Hehe sad jos manje znam.
Mislim da si poprilicno zakomplikovao i zato nemozes da dodjes do rjesenje.
Vidim da generises SQl u kodu.
E sad da ima jos bar tabela i da opises sta ti je namjera da naprevis bilo bi ucinkovitije.
Trebao si se javiti prije jer mislim da si se poprlicno namucio oko ovoga.

Citat:
i="(STAVGK.konto) Like '0229*' and (STAVGK.konto) Like '0239*' and (STAVGK.konto) Like '0249*'"
ii="((STAVGK.konto) Like '022*' Or (STAVGK.konto) Like '023*' Or (STAVGK.konto) Like '024*')"
dobiti rezultat
a="((STAVGK.konto) Like '022*' and (STAVGK.konto) not Like '0229*' Or (STAVGK.konto) Like '023*' and (STAVGK.konto) not Like '0239*' Or (STAVGK.konto) Like '024*' and (STAVGK.konto) not Like '0249*)"'

Ovo dvoje nije isto sto si napisao.
Citat:
STAVGK.konto) Like '0229*' and (STAVGK.konto) Like '0239*' and (STAVGK.konto) Like '0249*

Ovo sa and nece dati nista po meni.
Trebalo bi or umjesto and.
Citat:
ii="((STAVGK.konto) Like '022*' Or (STAVGK.konto) Like '023*' Or (STAVGK.konto) Like '024*')"
e sad ovdje kazes slicno 022* sto znaci svi koji imaju prva tri broja 022 sto znaci da ce uci i ovi sa 0229* a to je u
prvom uslovu.

Mozda si nesto ovako mogao napisati.
Neznam nisam siguran
DownloadIzvorni kod (SQL):
  1. [SELECT *
  2. FROM STAVGK
  3. WHERE Val(LEFT([Konto],3) BETWEEN 22 AND 24) AND Mid([Konto],4,1)<>'9'

Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 12.10.2016-10:53 od strane zxz. ↑  ↓

#5 12.10.2016-15:49
kenan Offline
Clan
Registrovan/a od: 10.02.2011-15:24
Komentari: 182


Subject: Re: spajanje polja miksanje
ovaj sql kod radi super kad hoču da mi iskluči konta koja imaju 9

a sad kako samo njih da vidim tj konta sa 9
↑  ↓

#6 12.10.2016-16:47
kenan Offline
Clan
Registrovan/a od: 10.02.2011-15:24
Komentari: 182


Subject: Re: spajanje polja miksanje
skonto netreba pomoč hvala još jednom
↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 19.10.2017-21:07.