Sql İndirekt Tablo Sütunu Referansı

1 2
17/03/2020, 16:30

Murathan77

Selamlar,

Aşağıdaki Sql kodunu w14,w15,.... tablo sütunları endirekt refere ederek daha kısa yazmanın yolu var mıdır ?

"w" & [W_No] gibi...

Şimdiden teşekkürler...


	IIf ([W_No] < 23,

Switch( [W_No]=13, [w13],
[W_No]=14, [w14],
[W_No]=15, [w15],
[W_No]=16, [w16],
[W_No]=17, [w17],
[W_No]=18, [w18],
[W_No]=19, [w19],
[W_No]=20, [w20],
[W_No]=22, [w22]
  ),

IIf ([W_No] < 33,

Switch( [W_No]=23, [w23],
[W_No]=24, [w24],
[W_No]=25, [w25],
[W_No]=26, [w26],
[W_No]=27, [w27],
[W_No]=28, [w28],
[W_No]=29, [w29],
[W_No]=30, [w30],
[W_No]=32, [w32]
  ),

IIf ([W_No] < 43,

Switch( [W_No]=33, [w33],
[W_No]=34, [w34],
[W_No]=35, [w35],
[W_No]=36, [w36],
[W_No]=37, [w37],
[W_No]=38, [w38],
[W_No]=39, [w39],
[W_No]=40, [w40],
[W_No]=42, [w42]
  ),

IIf ([W_No] < 53,

Switch( [W_No]=43, [w43],
[W_No]=44, [w44],
[W_No]=45, [w45],
[W_No]=46, [w46],
[W_No]=47, [w47],
[W_No]=48, [w48],
[W_No]=49, [w49],
[W_No]=50, [w50],
[W_No]=52, [w52]
  ),

IIf ([W_No] < 53,

Switch( [W_No]=21, [w21],
[W_No]=31, [w31],
[W_No]=41, [w41],
[W_No]=51, [w51]
  ),
),
),
  ),
),
),
17/03/2020, 16:45

berduş

YYalniz neden bu yapıyı kullanmışsınız, değer ne olursa olsun hep w& W_noDegeri değerini almıyor mu?
17/03/2020, 16:54

Murathan77

(17/03/2020, 16:45)berduş yazdı: YYalniz neden bu yapıyı kullanmışsınız, değer ne olursa olsun hep w& W_noDegeri değerini almıyor mu?

Bir tablodaki belli bir alanın (sütunun) rakam değerine göre (W_No) diğer tablodaki sütun referansını w13, w14 vs... vermeye çalışıyorum.

Yani A tablosunda W_No sütun değeri 13 olan kayıt için B tablosundaki w13 sütunu ilgili değerini (satırını) verecek.

Bir nevi Excel'deki endirekt referans (Dolaylı / Indirect) komutu gibi. Access'te böyle bir komut yok bildiğim kadarı ile...
17/03/2020, 16:56

Murathan77

(17/03/2020, 16:54)Murathan77 yazdı:
(17/03/2020, 16:45)berduş yazdı: YYalniz neden bu yapıyı kullanmışsınız, değer ne olursa olsun hep w& W_noDegeri değerini almıyor mu?

Bir tablodaki belli bir alanın (sütunun) rakam değerine göre (W_No) diğer tablodaki sütun referansını w13, w14 vs... vermeye çalışıyorum.

Yani A tablosunda W_No sütun değeri 13 olan kayıt için B tablosundaki w13 sütunu ilgili değerini (satırını) verecek.

Bir nevi Excel'deki endirekt referans (Dolaylı / Indirect) komutu gibi. Access'te böyle bir komut yok bildiğim kadarı ile...


Bir başka anlatım ile [B_Tablosu].["w" & W_No] gibi bir referans vermeye çalışıyorum ama tabii Sql bunu kabul etmiyor.
17/03/2020, 17:00

berduş

Yok onu anladim, kast ettiğim neden 23ten küçükse, yada 40tan küçükse diye parçalara ayırdığınız?
17/03/2020, 17:10

Murathan77

(17/03/2020, 17:00)berduş yazdı: Yok onu anladim, kast ettiğim neden  23ten küçükse,  yada 40tan küçükse diye parçalara ayırdığınız?

Aksi halde query too complex hatası veriyor. Switch çok fazla parametre kabul etmiyor sanırım.
1 2