sorgulamada değer bulmak

25/02/2009, 23:14

gogoli01

bir veri tabanım var, araç plakaları, cinsi ve aracın durumunu belirten.
aracım kirada ise tabloda aracın durumu hanesine 1, garajda ise 2 rakamını yazıyor.
yaptığım sorguda ise bu 1 ve 2 rakamlarının yerine kirada, garajda gibi ifade yazmasını istiyorum.
örnek:
16 ab 111 kirada (1)
16 ab 112 garajda (2)
16 ac 114 kirada (1)

yardımcı olabilirseniz memnun olurum.
26/02/2009, 00:35

gogoli01

SORUNUN ÇÖZÜMÜNÜ KENDİM BULDUM.
sorgulamada yeni bir alan tanımlıyorum
DURUM: IIf([ARACIN_DURUMU]>"1";"GARAJDA";"KİRADA")

sorgulamayı çalıştırdığımda, eğer ARACIN_DURUMU hanesi "1" den büyükse yeni tanımlanmış olan DURUM alanına "GARAJDA", değilse "KİRADA" yazıyor.

ilgilenen arkadaşlar bunu başka bir amaçla, mesela: öğrenci 50 üzerinde not almışsa GEÇTİ, 50 nin altında not almışsa KALDI olarak kullanabilirler.
26/02/2009, 11:10

Seruz

Sn. gogoli01,
Sorduktan sonra çözümünüzü de kendinizin bulması hoş olmuş.

Yazdığınız kod doğru çalışır. Ama bu tür durumlarda,
bence bilmeniz gereken bir kaç nokta var.

* Eğer tablonuzda ARACIN_DURUMU alanı Sayı olarak tanımlanmışsa,
Sayıları tırnak içinde olmadan kontrol etmelisiniz.
Kod:
DURUM: IIf([ARACIN_DURUMU]>1;"GARAJDA";"KİRADA")

* ARACIN_DURUMU kontrolünü ">" yerine "=" yapmak daha doğru olur.
Kod:
DURUM: IIf([ARACIN_DURUMU]=1;"KİRADA";"GARAJDA")

* ARACIN_DURUMU hanesinin 1 ve 2 'den farklı olma ihtimali varsa,
iç içe IIF ile kontrol koyabilirsiniz.
Kod:
DURUM: IIf([ARACIN_DURUMU]=1;"KİRADA";IIf([ARACIN_DURUMU]=2;"GARAJDA";"Diğer Durum"))

* Eğer ARACIN_DURUMU hanesi sayı ise 1 ve 2 'den daha fazla ardışık seçenek var ise (1,2,3,4,5 vb..)
Choose fonksiyonu da kullanılabilir.
Kod:
DURUM: Choose([ARACIN_DURUMU];"KİRADA";"GARAJDA";"3.Durum";"4.Durum";"5.Durum")