Combobox'ın kayıt Kaynağı'nı değere göre değiştirme

1 2 3
05/09/2016, 16:02

hasanak2

merhaba Arkadaşlar;

cmb_den adlı açılır liste kutum var ben bu kutuya IIF  dlookup kullanarak kod yazdım
 
problemim eger dogruysa bölümünden sonra rowsource kullanarak adi tablosundaki adi_id alanını listeletmek yanlışssa başka bir alanı listeletmek istemiştim hata veriyor
  
-----------------------------------------------------------------------------------------------------------------------------------------------------

Me.cmb_den = IIf(((DLookup("[gon]", "[tbl_islem_tipi]", "islem_tipi_id=" & Me.islem_tipi_id)) = 1), 500, 1000)


yazarsam sorun yok mantığa göre 500 yada 1000 veriyor
--------------------------------------------------------------------------------------------------------------------------------------------------


Me.cmb_den = IIf(((DLookup("[gon]", "[tbl_islem_tipi]", "islem_tipi_id=" & Me.islem_tipi_id)) = 1), Me.cmb_den.RowSource = (tbl_adi,adi_id), "0")


Yazarsam sorun çıkıyor  burada rowsourceyi nasıl kullanmalıyım.

şimdiden çok teşekkür ederim.
05/09/2016, 16:12

atoz112

sayın hasanak2,

siz de takdir edersiniz ki,
Site Kuralları gereği,içeriğinde farazi gerçek dışı ve sonuçları görebilmek adına da birkaç kayıt olacak şekilde örnek uygulamanızı da konunuza dahil etmeniz halinde,olası belki denetimlerden ya da alan adı ifadelerinden kaynaklı hususların da dikkate alınmak üzere incelenmesi uygun olacaktır.

ayrıca;
hangi duruma göre hangi sonucun çıkması gerektiğini de belirtmeniz iyi olacaktır.


bilginize...iyi çalışmalar,saygılar.
sayın hasanak2,

hatalı yazımı halinde olan

Me.cmb_den = IIf(((DLookup("[gon]", "[tbl_islem_tipi]", "islem_tipi_id=" & Me.islem_tipi_id)) = 1), Me.cmb_den.RowSource = (tbl_adi,adi_id), "0")

bu kod ile elde etmek istediğiniz nedir?

bilginize...iyi çalışmalar,saygılar.
05/09/2016, 22:28

hasanak2

Atoz hocam,

Yapmak istediğim IIF ,and,or,dlookup gibi komutları kullanarak 
Bazı yabancı sitelerde buna benzer örnekler gördüm ancak if then else yöntemi ile yapmışlar IIF ve Dlookup hiç görmedim.

örnekte verdiğim kod çalıştı ancak IIF in true ve false bölümüne rowsource yi nasıl monte edeceğimi bir türlü aşamadım.

atoz hocam, size tekrar teşekkür ederim. Umarım sorularımla başınızı ağrıtmıyorumdur.

iyi geceler.
05/09/2016, 23:35

ozguryasin

örnek olsaydı daha iyi anlatılabilirdi.

Kod:
Me.cmb_den.RowSource = "select * from accesstr"

Kod:
Me.cmb_den.RowSource = "select * from ozguryasin"

bu şekillerde yazıldığı vakit cmb_den açılır kutusuna zaten içerikteki verileri aktarır. buralarda kullandığınız sorular önemli. hatta bu açılır kutudan seçim yapıldıktan sonra aşka bir form veya listede seçime öre bu tarzda güncellenebilir
Kod:
Me.cmb_den.RowSource = (tbl_adi,adi_id), "0")

bunun kullanım tarzı aşadıda
Kod:
Me.cmb_den.RowSource = "select adi,id from tabloadi where id=0"
Eğer ki  id=0  değişkene atanıp başka yerden alınacaksa

Kod:
dim degis as string
degis= me.DegerAlinacakAcilirKutuVeyaBaskairNesne
Me.cmb_den.RowSource = "select adi,id from tabloadi where id='" & degis
 
şeklinde yol izlenmeli. son kod yapısını kafadan yazdığım için direkt ilk etapta çalışmayabilir. yapı bakımından bu şekilde. örnek eklemiş olsaydınız örnek üzerinde yapabilirdim.
05/09/2016, 23:58

hasanak2

Hocam şimdi faraze bir dosya hazırlamaya çalıştım.
Dosyada form1  formunda
1-Hareket tipi  seçildikten sonra çıkıldığıda olayında seçilen hareket tipinin hareket tipi tablosundaki durumu alanına bakacak 1 yazıyorsa

2-gönderen açılır listesinde cari_dıs tablosundaki cari_id alanını listeleyecek (burada hareket tipi seçiminde yaptığım gibi id numarası değilde görünen kısım adi alanı listelensin kaydedilen id si olsun)

3-durum 2 yazıyorsa aynı işlemi cari_ic tablosu için yapsın

4-yukardaki işlemler alıcı liste kutusu içinde geçerli gönderenin tam zıttı olacak. gönderen cari_dış tablosunu listeliyorsa alici cari_iç i listeleyecek


5-Seçilen seçimleri kayıta bastığımda çalışmalar tablosundaki ilgili alanlara kaydedecek

Hocam umarım anlatabilmişimdir.

iyi geceler.
06/09/2016, 00:22

ozguryasin

örneği kontrol edip geri bildirimde bulununuz.
1 2 3