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

Dodavanje izracunate kolone u Accessu putem Select Case

[es] :: Access :: Dodavanje izracunate kolone u Accessu putem Select Case

[ Pregleda: 3574 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mlathen
Beograd

Član broj: 100263
Poruke: 7
*.uzzpro.sr.gov.yu.



Profil

icon Dodavanje izracunate kolone u Accessu putem Select Case03.07.2006. u 12:05 - pre 216 meseci
Imam Tabelu u Accessu sa podacima tipa, "ImeIPrezime", "Pol", "Starost", "Adresa".... Hteo bih da napravim query sa novom kolonom. Nova kolona bi se zvala "StarosniInterval", a sadrzala bi podatke izracunate na osnovu podataka iz kolone "Starost".
Npr, za sve vrednosti kolone "Starost"<15, u koloni StarosniInterval odgovarajuca vrednost bila bi "1", za Starost>15 a <30
bila bi "2". Otprile ovako:

Select Case Starost
Case 0 to 15
StarosniInterval= 1
Case 16 to 30 = 2
StarosniInterval= 2
Case 31-45 = 3
StarosniInterval= 3
Case >45 = 4
StarosniInterval= 4
End case

Kako da ovo uradim pomocu upita? Pomocu IIf znam, ali IIf nije prakticna za mnogo slucajeva, i select Case mi izgleda mnogo funkcionalnije. Hvala

 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.neobee.net.



+41 Profil

icon Re: Dodavanje izracunate kolone u Accessu putem Select Case03.07.2006. u 13:14 - pre 216 meseci
Koristi Switch.
 
Odgovor na temu

BiloKoje
Beograd

Član broj: 40147
Poruke: 401



+4 Profil

icon Re: Dodavanje izracunate kolone u Accessu putem Select Case03.07.2006. u 14:06 - pre 216 meseci


Ako se dobro sećam Select Case bira prvu tačnu vrednost pa je jako bitno kojim redom postavimo uslove.
Recimo ako je Case is < 15, a u kodu imamo, ovim redom: Case is < 30, Case is < 25, Case is < 20, Case is < 15, a proveravamo za slučaj =12, program će uzeti da je već u prvom slučaju, Case is < 30, uslov ispunjen.

u tvom primeru, otprilike ovako:
Select Case Starost
Case is < 15
StarosniInterval= 1
Case is < 30
StarosniInterval= 2
Case is <45
StarosniInterval= 3
Case is >45
StarosniInterval= 4
End Select ( End Select, a ne end Case)
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
195.29.146.*



+8 Profil

icon Re: Dodavanje izracunate kolone u Accessu putem Select Case04.07.2006. u 08:04 - pre 216 meseci
Jel bas moras sa upitom ??
Koliko sam skuzio tebi treba u cjeloj tablici uopisati starosni interval jel ga sad nemas.
Pa skreiraj to polje i zvrtis cjelu bazu i i upises


Ja bi to u kodu napravio ovak

Dim dato As Database
Dim rek As Recordset
Set dato = CurrentDb
Dim sqlupit As String
sqlupit = "select * From Radnik"
Set rek = dato.OpenRecordset(sqlupit)

Do While Not rek.EOF

rek.Edit

if rek.fields("starost") <= 15 then
rek.Fields("starosnadob") = 1
endif

if rek.fields("starost") > 15 and rek.fields("starost") <= 30 then
rek.Fields("starosnadob") = 1
endif

............ itd.....

rek.MoveNext
loop

rek.Close
Set dato = Nothing


Eto , to ti je kad ja volim sve rucno programirat

Pozdrav Trtko

 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Dodavanje izracunate kolone u Accessu putem Select Case04.07.2006. u 14:03 - pre 216 meseci
Moze i pomocu upita.

Kreiraj tabelu StarosniIntervali ovako:

Interval, Od, Do
1, 0, 15
2, 16, 30
3, 31, 45
4, 46, 1000

Onda kazes ovako:

SELECT Pacijenti.PacijentiID, Pacijenti.Ime, Pacijenti.Prezime, Pacijenti.Starost, StarosniIntervali.Interval, StarosniIntervali.Od, StarosniIntervali.Do
FROM Pacijenti, StarosniIntervali
WHERE (((Pacijenti.Starost) Between [Od] And [Do]));

Ovaj query dobijes lako - navuces obe tabele u query design prozor, NE RADIS NIKAKAV join, samo ukucas WHERE uslov.

Medjutim, znimljivo pitanje je: treba li ti uopste polje Starost u tabeli Pacijenti. Predpostavljam da imas polje DatumRodjenja, pa se starost moze izracunati odatle. A izracunata pollja se ne cuvaju u tabeli. Pogotovu starost, jer se menja. Kome je prosle godine Starost bila 12, sada je 13. I svakom se starost menja na njegov rodjendan. Ispada da svaki dan trebas da radis enkakakv UPDATE tabele Pacijenti, da bi starost uvek bila tacna. Mislim da na forumu ima funkcije koja racuna starost, ali moze to i kroz kveri naravno. Ako ti treba, mozemo pomoci da izracunas starost kroz kveri.



 
Odgovor na temu

mlathen
Beograd

Član broj: 100263
Poruke: 7
*.uzzpro.sr.gov.yu.



Profil

icon Re: Dodavanje izracunate kolone u Accessu putem Select Case05.07.2006. u 09:35 - pre 216 meseci
"Medjutim, znimljivo pitanje je: treba li ti uopste polje Starost u tabeli Pacijenti. Predpostavljam da imas polje DatumRodjenja, pa se starost moze izracunati odatle. A izracunata pollja se ne cuvaju u tabeli. Pogotovu starost, jer se menja. Kome je prosle godine Starost bila 12, sada je 13. I svakom se starost menja na njegov rodjendan. Ispada da svaki dan trebas da radis enkakakv UPDATE tabele Pacijenti, da bi starost uvek bila tacna. Mislim da na forumu ima funkcije koja racuna starost, ali moze to i kroz kveri naravno. Ako ti treba, mozemo pomoci da izracunas starost kroz kveri."

E ovaj upit odlicno radi. Hvala svima na pomoci.
Problem je sto sam naucio da radim u Excel_u i Spss_u u kojima se svako izracunato polje vidi u tabeli. Stvar navike.

 
Odgovor na temu

[es] :: Access :: Dodavanje izracunate kolone u Accessu putem Select Case

[ Pregleda: 3574 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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