[ pmiroslav @ 18.03.2008. 09:20 ] @
Može li mi netko objasniti pravilo kada kod pisanja koda, zbog dužine neki izraz trebam prelomiti u više redova.
Kao npr ovo:

USLOV=IIf([I1]="G";"G";IIf([I1]="GS";"GS";IIf([I1]="B";"B";IIf([I1]="P";"P";IIf([I1]="HV";"HV";IIf([I1]="PN";"PN";IIf([I1="RE";"RE";IIf([I1]="OI";"OI";IIf([I1]="N";"N";IIf([I1]="E";"E";""))))))))))

ili ovo:
Usl_Poz = "SELECT * FROM [QryShema] WHERE ((([QryShema].IDSkl)= " & Sklop & ")" _
& "And (([QryShema].IDPskl)= " & Podsklop & ")" _
& "And (([QryShema].IDČv)= " & Cvor & "))"
[ Zidar @ 18.03.2008. 16:56 ] @
Za pocetak, pojednostavi izraze.

Umesto
Usl_Poz = "SELECT * FROM [QryShema] WHERE ((([QryShema].IDSkl)= " & Sklop & ")" _
& "And (([QryShema].IDPskl)= " & Podsklop & ")" _
& "And (([QryShema].IDČv)= " & Cvor & "))"

moze da se pise bez imena tabele u WHERE uslovu.

Usl_Poz = "SELECT * FROM [QryShema] WHERE (((IDSkl)= " & Sklop & ")" _
& "And ((IDPskl)= " & Podsklop & ")" _
& "And ((IDČv)= " & Cvor & "))"

Ako bi izbacio i zagrade, izraz verovatno ne bi ni trebalo prelamati, ila bar ne mnogo puta:

Usl_Poz = "SELECT * FROM [QryShema] WHERE IDSkl= " & Sklop & " And IDPskl= " & Podsklop & " And IDČv= " & Cvor

Pravilo za prelemanje u kodu je: na mestu preloma dodaj bar jedan space pa onda underscore na kraju reda (nista iza underscore)

Onu seriju IIF naredbi iz prvog izraza verovatno mzoes da zamenis lookup kverijem (tabele_sa_kodovima JOIN tablea_sa_opisima)
Mada mi nije jasno zasto ti uposte treba formula ili kveri kad ce se u svakom slucaju ispisati ono sto ti je u [I1].

USLOV=IIf([I1]="G";"G"; -- ako je [I1] = "G" onda je Uslov = "G"
inace
IIf([I1]="GS";"GS"; -- ako je [I1] = "GS" onda je Uslov = "GS"
inace ....
IIf([I1]="B";"B";
IIf([I1]="P";"P";
IIf([I1]="HV";"HV";
IIf([I1]="PN";"PN";
IIf([I1="RE";"RE";
IIf([I1]="OI";"OI";
IIf([I1]="N";"N";
IIf([I1]="E";"E";""))))))))))

Zanci, mogao si da napises USLOV = [I1] i sve bi lepo radilo




[ pmiroslav @ 19.03.2008. 05:54 ] @
Hvala na iscrpnom odgovoru.