Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako prelomiti izraz u više redova

[es] :: Access :: Kako prelomiti izraz u više redova

[ Pregleda: 1700 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
*.dsl.optinet.hr.



+2 Profil

icon Kako prelomiti izraz u više redova18.03.2008. u 09:20 - pre 196 meseci
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 & "))"
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Kako prelomiti izraz u više redova18.03.2008. u 16:56 - pre 196 meseci
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




 
Odgovor na temu

pmiroslav
Miroslav
Osijek

Član broj: 57354
Poruke: 298
89.201.141.*



+2 Profil

icon Re: Kako prelomiti izraz u više redova19.03.2008. u 05:54 - pre 196 meseci
Hvala na iscrpnom odgovoru.
 
Odgovor na temu

[es] :: Access :: Kako prelomiti izraz u više redova

[ Pregleda: 1700 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.