Skip to main content

AccessTr.neT


Tablodaki Veriyi Listbox'tan Seçimle Forma Getirme

Tablodaki Veriyi Listbox'tan Seçimle Forma Getirme

#7
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)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Cevapla
#8
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.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#9
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)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Cevapla
#10
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.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#11
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.
.rar Kumaş Satış 23.12.2016 - hhh - Kopya.rar (Dosya Boyutu: 126,2 KB | İndirme Sayısı: 6)
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Cevapla
#12
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.
husem, proud to be a member of AccessTr.neT since 08-03-2009.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task