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

Sortiranje texta u formatu XXX/XX

[es] :: Access :: Sortiranje texta u formatu XXX/XX

[ Pregleda: 1223 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

combuster
Ivan Bulatovic
Kraljevo

Član broj: 151351
Poruke: 4563
93.86.6.*

Sajt: www.linuxsrbija.org


+104 Profil

icon Sortiranje texta u formatu XXX/XX26.03.2009. u 18:30 - pre 183 meseci
Imam kljucni atribut sifra_predmeta koja je u formatu 1/09, 2/09, 3/09, ... 10/09, 11/09, 12/09, ... 100/09, 101/09,....... 501/09, 502/09, znaci imam delimiter "/" i sa desne strane godinu koja je u formatu 09, 10, 11 a sa leve brojeve od 1 do 1000 (nece ih trebati vise)...

Napravio sam query po kriterijumu "Between [Forms]![form1]![Text1] And [Forms]![form1]![Text2]" dakle da mi prikaze nekoliko pripadajucih atributa od jedne sifre predmeta iz prvog textbox-a do druge sifre predmeta iz drugog textbox-a... Problem je pretpostavljate u cemu.

Kako da mi prikaze predmete 1/09, 2/09, 3/09, 4/09 ... 9/09, 10/09 a da pri tome ne prikazuje 11/09 i ostalu gomilu. Sortiranje teksta znam da ide od prvog karaktera sa leve strane pa na desno (1/09, 10/09, 11/09 .... pa i 111/09 mu je pre 2/09). Sifra predmeta mora da se upisuje u ovom obliku to ne smem da menjam.

Ono sto mi je palo na pamet je da napravim sakriveni textbox u kome ce se automatski ubaciti neki string ili cak i broj kada se upise sifra predmeta i koji bi trebalo da bude analogan njoj, dakle nesto u fazonu 00109 pa 00209, dakle treba mi VB kod koji ce ici u sifra_predmeta AfterUpdate i koji ce izmanipulisati ovim stringom na nacin na koji mogu da sortiram ovo normalno (i kasnije da u samom query-ju ne pozivam sifru_predmeta vec hidesp (sakrivenu sifru predmeta))...

I nije neki problem da se izbaci delimiter / ali kako da uradim da mi ubaci nule ispred levog string-a i to onoliko koliko nedostaje do 4 char-a...

Thnx!




make love - !war
 
Odgovor na temu

Zidar
Canada

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



+79 Profil

icon Re: Sortiranje texta u formatu XXX/XX26.03.2009. u 20:16 - pre 183 meseci
taman posla da radis programiranje, AfterUpdate i slicno. ije AfterAupdate namenjen za resavanje ovakvih problema.

Sifre izgledaju ovako 1/09, 2/09, 3/09, ... 10/09, 11/09, 12/09, ... 100/09, 101/09
Sve imaju tacno 3 karaktera posle brojeva. Brojeve dobijes ovako:
BrojString = LEFT(Sifra, LEN(Sifra)-1)
BrojString pretvaras u numerik sa VAL(Brojstring). Ovo VAL ti treba da bi se 11 i 101 sortirali korektno, posle 9 i 99.

Sve to daje ovakav kveri:

SELECT Sifra
FROM TvojaTablea
ORDER BY VAL(RIGHT(Sifra,2)), VAL(LEFT(Sifra, LEN(Sifra)-3))


Medjutim, sve ti ovo ne treba ako malo pametnije uredis svoju tabelu. Umesto da sifru cuvas u obliku 'XXX/XX' bolje ej da imas dva odvojena polja. jedno je za Godinu a drugo je za Broj. Onda sortiras ORDER BY Godna, Broj. Ako ti treba da priakzes na izvestaju format 'XXX/XX' to je mnogo lakse uraditi nego obrnuto.

:-)
 
Odgovor na temu

combuster
Ivan Bulatovic
Kraljevo

Član broj: 151351
Poruke: 4563
93.86.111.*

Sajt: www.linuxsrbija.org


+104 Profil

icon Re: Sortiranje texta u formatu XXX/XX26.03.2009. u 21:08 - pre 183 meseci
Ideja je extra, samo sto dobijam poruku Invalid procedure call...

Proverio, imao sam jednu sifru koja je bila nula, pa mi je i operacija nad stringom vracala null vrednost... Proradilo je! Thanx man, hvala puno...
make love - !war
 
Odgovor na temu

fpedja
Beograd

Član broj: 145092
Poruke: 76
*.xdsl.beograd.com.



Profil

icon Re: Sortiranje texta u formatu XXX/XX27.03.2009. u 12:50 - pre 183 meseci
Mozes i da ne pretvaras u broj:

SELECT sifra
FROM TvojaTabela
order by RIGHT('000000' & sifra,6)

ukoliko si ogranicio da brojevi nece ici preko 999!
 
Odgovor na temu

[es] :: Access :: Sortiranje texta u formatu XXX/XX

[ Pregleda: 1223 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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