Arkadaşlar merhaba. Accesse yeni başladığım için çok basit bir soruda olabilir. ama mazur görün. Arama yaptım ama soruma tam çözüm bulamadım.
Sorum şu şekilde.
Soru ürün satışı ile ilgili. Ürün satışı yapacağımız bir formumuz var ve burada
(Açılan kutu)"URUNKODU" - (AçılanKutu)"SERINO" - (MetinKutusu)"URUNADI" - (MetinKutusu)"ADEDI" - (MetinKutusu)"ALISFIYATI" - (MetinKutusu)"SATISFIYATI" - (MetinKutusu)"ACIKLAMA"
şeklinde Formumuz var ve bilgileride "STOKDURUM" sorgusundan alıyor
BURADA 2 Adet açılan kutumuz var ve 5 adette Metin kutumuz var.
Elimizdeki ürünlerin ise aynı barkodu olan ama farklı seri numaraları olan ürünler var.
Yani "11111" barkodlu 3 ürünümüz var ve birinin seri numarası "aaaaa" diğerininki "bbbbb" ötekininki "ccccc"
Birinci açılan kutuda barkodu okuttuğumuzda otomatik diğer açılan kutuya geçmesini ve o kutudada ilk kutuda seçtiğim aynı barkodlu ama farklı seri numaralaı ürünleri görmek istiyorum ve oradan seçim yapmak istiyorum. Seri numarasınıda seçtiğimde o ürünün bilgileri diğer 5 metin kutusuna işlenecek.
Burada "dlookup" komutunu denedim ama başarılı olamadım.
Biraz karmaşık oldu ama kusura bakmayın.
Sn Soundcraft;
Örnek ekleseydiniz daha iyi olurdu ama yazdıklarınızdan anladığım kadarıyla;
URUNKODU 'nun GüncelleştirmeSonrasında olay yordamına;
me.SERINO.setfocus
me.SERINO.requery
yazın.
SERINO'nun SatırKaynağında kullandığınız sorgunun SERINO alanının ölçütüne :
Forms!FormAdı!URUNKODU
yazın.
SERINO'nun GüncelleştirmeSonrasında olay yordamına:
me.URUNADI==Dlookup(....
me.ALISFIYATI=Dlookup(....
me.SATISFIYATI=Dlookup(.... ile verileri ilgili kutucuklara çekin.
(15/05/2009, 20:21)Seruz yazdı: Bir açılan kutudan, metin kutusuna değer almak ile ilgili bilgiyi aşağıdaki konuda:
Açılan kutudaki seçime göre formdaki metin kutularına bilgi getirme
Birbirine bağlı Açılan Kutular hakkında bilgiyi aşağıdaki konuda bulabilirsiniz
İlişkili Combobox ListBox
Size, öncelikle Access Dersleri kısmını, daha sonra Access Örnekleri kısmındaki örnek uygulamaları incelemenizi tavsiye ederim.
Yine de yapamazsanız, örnek dosyanızı eklerseniz, yardımcı oluruz.
Belirttiğiniz konuları incelemiştim zaten ve
Açılan kutudaki seçime göre formdaki metin kutularına bilgi getirme konusundaki tek comboboxtan veri alıyor ben ise 2 comboboxtan veri alacağım.
Uygulamayı
Dlookup ilede yaptığımdada oluyor ama yine tek comboboxtan alıyordu.
Sayın @
ayhan2122 nin belirtiği
Kod:
URUNKODU 'nun GüncelleştirmeSonrasında olay yordamına;
me.SERINO.setfocus
me.SERINO.requery
yazın.
SERINO'nun SatırKaynağında kullandığınız sorgunun SERINO alanının ölçütüne :
Forms!FormAdı!URUNKODU
kısmı deneyeceğim.
ilginiz için teşekkür ederim.
Sayın @
ayhan2122;
Belitrttiğiniz şekilde oldu sayılır ama bu defa birinci kutudan çeçim yaptığımızda ikinci kutuda birinci kutuya göre veri gelmesi gerekirken oradada tüm veriler ekrana geliyor.
Ben ise ön eleme yaparak, önce birinci kutudan sonra birinci kutuya ait olan listedeki verileri ikinci kutuda görmek ve oradaki seçimi yaptığımda diğer verilerin aktarılmasını istiyorum.
Kodlamada bi hatamı yaptım bakabilirmisiniz?
1. Kutu kodları
Kod:
Private Sub BARKOD_AfterUpdate()
Me.KOD.SetFocus
Me.KOD.Requery
Me.YAPILANISLEM = DLookup("[BARKOD]", "[URUNADI]", "[URUNLER]", "[KOD]=[URUNKODU]")
Me.ADEDI.Value = "1"
Me.SATISFIYATI = DLookup("[BARKOD]", "[SATISFIYATI]", "[URUNLER]", "[KOD]=[URUNKODU]")
Me.KDV = (Me.SATISFIYATI * Me.ADEDI) * KDVSİ / 100
Me.TOPLAMSATIS = Me.SATISFIYATI + Me.KDV
Me.DEPO = Me.KOD.Column(2)
If Me.DEPO <= 0 Then
MsgBox "Stoklarınızda ürün mevcut değil", vbExclamation, "Bilgi"
Me.Undo
Me.BARKOD.SetFocus
End If
DoCmd.OpenForm "KONTROL2"
End Sub
Private Sub BARKOD_Enter()
KOD.BackColor = vbYellow
End Sub
Private Sub BARKOD_Exit(Cancel As Integer)
KOD.BackColor = vbWhite
End Sub
Private Sub BARKOD_NotInList(NewData As String, Response As Integer)
On Error GoTo hata
Response = acDataErrContinue
MsgBox "Stokta tanımlı böyle bir ürün bulunamadı.", 48, "Müşteri Takip"
hata: Exit Sub
End Sub
2. Kutu kodları
Kod:
Private Sub KOD_AfterUpdate()
Me.YAPILANISLEM = DLookup("[URUNADI]", "[URUNLER]", "[KOD]=[URUNKODU]")
Me.ADEDI.Value = "1"
Me.SATISFIYATI = DLookup("[SATISFIYATI]", "[URUNLER]", "[KOD]=[URUNKODU]")
Me.KDV = (Me.SATISFIYATI * Me.ADEDI) * KDVSİ / 100
Me.TOPLAMSATIS = Me.SATISFIYATI + Me.KDV
Me.DEPO = Me.KOD.Column(2)
If Me.DEPO <= 0 Then
MsgBox "Stoklarınızda ürün mevcut değil", vbExclamation, "Bilgi"
Me.Undo
Me.KOD.SetFocus
End If
DoCmd.OpenForm "KONTROL2"
End Sub
Private Sub KOD_Enter()
KOD.BackColor = vbYellow
End Sub
Private Sub KOD_Exit(Cancel As Integer)
KOD.BackColor = vbWhite
End Sub
Private Sub KOD_NotInList(NewData As String, Response As Integer)
On Error GoTo hata
Response = acDataErrContinue
MsgBox "Stokta tanımlı böyle bir ürün bulunamadı.", 48, "Müşteri Takip"
hata: Exit Sub
End Sub
Yada
Dlookup kodunu aşağıdaki gibi bağlasak istediğim sonuca çıkarmı diyerek denedim ama olmadı Yada bu kodda biyerde hata yaptım
Kod:
DLookup("BARKOD, "KOD", "ID='" & DLookup("URUNADI", "SATISFIYATI") & "'")
Sn Soundcraft
DlookUp yanşıl kullanmışsın.
Kod:
DlookUp("AlanAdı","TabloAdı","Kriter")
şeklinde olmalı.
En iyisi örneğini ekle, sorunu çözelim