Veri Girişi Formu Nasıl Olmalı?

1 2
11/05/2019, 22:35

icemeno

Merhaba;

Tablo ilişki durumu, tablo bilgileri ve kayıt formu aşağıdaki gibidir.
Formda Masraf yeri Combo box (cb_masraf_yeri) ve veri tabanından dolduruluyor.
Tip numarası  textbox (txt_tip_no) el ile girilecek.
Merkmal adedi combobox (cb_merkmal_adedi) 1-8 arasında sayı seçilebiliyor, seçilen sayı kadar döngü ile merkmal ismi (txt_merkmal_adi_x) , üst kontrol textbox (txt_uks_x) ve alt kontrol sınırı text boxlarını (txt_aks_x) görünür yapacağım.
Kullanıcı tip numarası girişi yaptığında sanırım txt_tip_no_Change() olayında  bu tip numarası ustte seçilen masraf yerinde var mı diye arasın ve varsa uyarı versin istiyorum . Aşağıdaki kodu yazmayı denedim ama Dlookup dan dönen veri boş mu dolumu nasıl anlayacağım.
yada yaptığım doğru mu?
Örnek Dosya iş yerinden mümkün değil . Eve gidince  paylaşabilirim. Tşkler.

DLookup("tip_no", "TBL_TIPLER", "tip_no=" & txt_tip_no)




11/05/2019, 22:54

ozanakkaya

Merhaba,

Forma buton ekle, butonun tıklandığında olayına

Msgbox (nz(DLookup("tip_no", "TBL_TIPLER", "[tip_no]=" & txt_tip_no),0)

kodu ekle, tip_no verisi var ise tablodaki değeri yazar, bulamaz ile 0 yazar

ayrıca, Dlookup kodu tablodaki alanın veri türüne göre

Msgbox (nz(DLookup("tip_no", "TBL_TIPLER", "[tip_no]='" & txt_tip_no &"'"),0)

şeklinde de olabilir. Veri türüne göre kriter kısmına tek tırnak eklendi.
11/05/2019, 23:07

icemeno

Veri türü Text ,
verdiğiniz kodlarda 3 parantez açılmış , 2 tanesi kapatılmış bende en sona bir parantez kapattım doğru mudur?
MsgBox (Nz(DLookup("tip_no", "TBL_TIPLER", "[tip_no]='" & txt_tip_no & "'"), 0))
Bu şekilde yapınca resimdeki hatayı verdi .

11/05/2019, 23:15

icemeno

Merhaba;
 Birde Vba kodlarına bakabileceğim (öğrenmeye çalışacağım) bir kaynak var mıdır? Her seferinde sizlerden yardım istemektense kendim deneyip takıldığım yerde soru sormayı tercih ederim.
Desteğiniz için teşekkürler.

( Access ile çalışmayalı 13 seneyi aşkın zaman oldu ve zaten çok iyi bildiğim bir program değildi ne yazık ki )
11/05/2019, 23:28

ozanakkaya

Merhaba, parantez olayında yaptığınız işlem doğrudur. Resimdeki hata form ile ilgili, butonu tıklandığında olayına

msgbox "test"
Kodu ekleyip deneyin, yine hata verirse formunuz bozulmuş, formdaki denetimlerin isimlerini kontrol edin, Türkçe karakter içermesin.

Vba kodu öğrenmek için kaynak öneremeyeceğim, deneme-yanılma ile çözebilirsiniz, takıldığınız yerleri sormaktan çekinmeyin
11/05/2019, 23:41

berduş

"txt_tip_no" çıkıldığında olayını aşağıdaki gibi düzenlerseniz uyarı verir ama uyarı verdikten sonra ne yapılacak?
Private Sub txt_tip_no_Exit(Cancel As Integer)
Dim tipsay As Integer
tipsay = Nz(DCount("*", "TBL_TIPLER", "tip_no='" & txt_tip_no & "'"), 0)
If tipsay > 0 Then MsgBox (txt_tip_no & " Kayıtlı")
End Sub
1 2