sn atoz112,
açılankutu ile seçim yapıldığı takdirde sn ozanakkaya'nın 4.mesajdaki cevabı çözüm olur,
benim niyetim, açılankutu seçimi yapmadan, listbox verisine tıklayarak metinkutularına değerlerin gelmesi, (listboxda kayıt numarasını birden çok kayda tek verdiriyorum, ama ayrıca ardışık olarak kayıt id numarası da verdiriyorum)
sayın husem,
bahsettiğiniz talebinize yönelik olarak;
SIPARIS_KAYIT adlı formun üzerinde yer alan SIP_BUL adlı Açılan Kutu denetiminin GÜNCELLEŞTİRME SONRASINDA olay yordamı içeriğindeki kodları iptal edip ya da etkisizleştirip yerine
'DLOOKUP İLE DE YAPILABİLİRDİ
Me.SIP_NO = Me.SIP_BUL.Column(0)
Me.SIP_TARIHI = Me.SIP_BUL.Column(1)
Me.ALICI = Me.SIP_BUL.Column(2)
'Me.YETKILI = Me.SIP_BUL.Column(3)
'Me.TAKIP_SIP_NO = Me.SIP_BUL.Column(4)
Me.MUS_SIP_NO = Me.SIP_BUL.Column(3)
Me.ODEME_SEKLI = Me.SIP_BUL.Column(4)
Me.VADE = Me.SIP_BUL.Column(5)
Me.KUMAS_TESLIM_YERI = Me.SIP_BUL.Column(6)
Me.KUM_SEVK_YERI = Me.SIP_BUL.Column(7)
Me.EMAIL = Me.SIP_BUL.Column(8)
liste1s
'Me.Liste1.RowSource = "SELECT S_SIPARIS_DETAY_BILGILERI.SIPARIS_NO AS SipNo, S_SIPARIS_DETAY_BILGILERI.PARTI_NO AS [Kayıt No], S_SIPARIS_DETAY_BILGILERI.SATIS_SEKLI AS [Satış Şekli], S_SIPARIS_DETAY_BILGILERI.SIPARIS_CINSI AS [Sipariş Cinsi], S_SIPARIS_DETAY_BILGILERI.KARISIM_ORANI AS [Karışım Oranı], S_SIPARIS_DETAY_BILGILERI.YAPILACAK_ISLEM_KODU, S_SIPARIS_DETAY_BILGILERI.RENK_NO AS [Renk No], S_SIPARIS_DETAY_BILGILERI.RENK AS Renk, S_SIPARIS_DETAY_BILGILERI.KG AS Kg, S_SIPARIS_DETAY_BILGILERI.KGFIRELI AS KgFireli, S_SIPARIS_DETAY_BILGILERI.BIRIM_FIYAT AS BFiyat, S_SIPARIS_DETAY_BILGILERI.EBAT AS Ebat, S_SIPARIS_DETAY_BILGILERI.GRAMAJ AS Gramaj, S_SIPARIS_DETAY_BILGILERI.SON_ISLEM_ID, S_SIPARIS_DETAY_BILGILERI.SON_DURUM AS [Son Durum], S_SIPARIS_DETAY_BILGILERI.NERDEN_ALINDI AS [Nereden Alınacak] FROM S_SIPARIS_DETAY_BILGILERI WHERE (S_SIPARIS_DETAY_BILGILERI.SIPARIS_NO=" & Me.SIP_BUL & ")"
'Me.Liste1.Requery
Call ALTTOPLAM
Me.SIPKAYIT = 1
Me.ORAN = Me.Liste1.Column(5, 1)
Me.ORAN2 = Me.Liste1.Column(5, 2)
Me.ORAN3 = Me.Liste1.Column(5, 3)
Me.ORAN4 = Me.Liste1.Column(5, 4)
Me.KARISIM_CINSI = Me.Liste1.Column(6, 1)
Me.KARISIM_CINSI2 = Me.Liste1.Column(6, 2)
Me.KARISIM_CINSI3 = Me.Liste1.Column(6, 3)
Me.KARISIM_CINSI4 = Me.Liste1.Column(6, 4)
yukarıda yazılı kodları dahil etmek sureti ile,listeye gerek kalmaksızın direkt olarak bu seçim akabinde mevcut değerlerin ilgili denetimlere aktarılmasını sağlayabilirsiniz.
bu arada,listenin TIKLANDIĞINDA olay yordamı kodlarını da iptal edebilirsiniz,bu kullanım neticesinde.
bilginize...iyi çalışmalar,saygılar.
sn atoz112 kusura bakmayın, eğer tam olarak anlatamadıysam
fakat maalesef olmadı, bu haliyle olmuyor.
siparişe ait birden çok veri girişi yaptığımda
örneğin, kayıtno, 1,2,3
ben listbox'a tıkladığımda hangi kayda tıklıyorsam o kayda ait verileri metin kutularına getirecek., bu veri 1 de olabilir 4 de
ama kayıt numarası önemli.
listbox da örneğin 20 kayıt varsa, bile ben hangi kayda tıklarsam o kayda ait verileri getirmesi lazım.
şu anki haliyle listbox daki ilk 4 kaydı getiriyor.
aşağıdaki kod, liste kutusundaki ilk 4 kaydı alır, oysa liste kutusunda 4 değil 20 kayıt da olabilir kayıt numaraları farklı olarak tabi, ben hangi kayıt numarasına tıklarsam o kayda ait veriler metin kutularına gelecek.
'
Me.ORAN = Me.Liste1.Column(5, 1)
Me.ORAN2 = Me.Liste1.Column(5, 2)
Me.ORAN3 = Me.Liste1.Column(5, 3)
Me.ORAN4 = Me.Liste1.Column(5, 4)
Me.KARISIM_CINSI = Me.Liste1.Column(6, 1)
Me.KARISIM_CINSI2 = Me.Liste1.Column(6, 2)
Me.KARISIM_CINSI3 = Me.Liste1.Column(6, 3)
Me.KARISIM_CINSI4 = Me.Liste1.Column(6, 4)
sayın husem,
konunuzun 1.mesajındaki açıklamanızdan:
Alıntı:aynı kayıt numarasıyla fakat farklı id lerle minimum 1 maksimum 4 kayıt yapıyorum
konunuzun 3.mesajındaki açıklamanızdan:
Alıntı:eğer varsa başka karışım, max 4 kayıt olabilir. o yüzden 4 adet metin kutusu tanımladım. 4 ü de sırayla gelebilirmi acaba.
konunuzun 5.mesajındaki açıklamanızdan:
Alıntı:kayıt sayısı kadar döndürüp 1. kaydı bulacak, tekrara bakacak, varsa ikinci kayıt, tekrar bakacak, varsa üçüncü kayıt, sonrasında varsa dördüncü kayıt, zaten max 4 kayıt olacak
ifadeleriniz nezdinde olmak sureti ile,
8.mesajda önerilen işlem;zaten hali hazırda listede yer alan kayıt no üzerinden yapılmakta.listedeki kayıt durumuna göre.
dolayısı ile de,ister bu önerilen şekilde isterseniz de listeye tıklamak sureti ile gerçekleştirdiğinizde,kayıt no değerine göre istenen değerlerin ilgili denetimlere getirilmesi sağlanıyor diye düşünüyorum.
eğer yanlış yorumluyorsam da,yine uygun geri bildirimlerde bulunabilirsiniz.
bilginize...iyi çalışmalar,saygılar.
eklediğim
Access dosyamda
listbox da 1 nolu kayda tıklandığında, 1 nolu resim
listbox da 2 nolu kayda tıklandığında, 2 nolu resim
listbox da 3 nolu kayda tıklandığında, 3 nolu resim
deki gibi olmasını istiyorum ama.
Sub CagirOranKrs()
Dim Sayac, SW, KNT As Long
For SW = 1 To 4
Me.Controls("ORAN" & IIf(SW = 1, Null, SW)) = 0
Me.Controls("KARISIM_CINSI" & IIf(SW = 1, Null, SW)) = 0
Next SW
KNT = Me.Liste1.Column(1): SW = 0
For Sayac = 1 To Me.Liste1.ListCount
If Me.Liste1.Column(1, Sayac) = KNT Then
SW = SW + 1
Me.Controls("ORAN" & IIf(SW = 1, Null, SW)) = Me.Liste1.Column(5, Sayac)
Me.Controls("KARISIM_CINSI" & IIf(SW = 1, Null, SW)) = Me.Liste1.Column(6, Sayac)
End If
Next Sayac
End Sub
yukarıdaki kodla sorun çözüldü.
liste kutusu tıklanma olayına
call CagirOranKrs
yazılarak istenilen bilgiler forma getirildi.