ben urungiris formuna "acl_odemyon" adında açılan kutu ekledim,
satır kaynağı: "Nakit";"Kredi Kartı";"Banka"
satır kaynak türü : değer listesi
güncelleştirme sonrasında olayındaki kodu aşağıdaki ile değiştirdim.
Private Sub gırısfıyatı_AfterUpdate()
If Me.acl_odemyon = "" Or IsNull(Me.acl_odemyon) Then
MsgBox ("odeme yöntemi seçiniz")
Else
If MsgBox("İşlem kaydedilsin mi?", vbInformation + vbYesNo) = vbYes Then
Dim GUrunAdi, GOdemeTuru As String
GUrunAdi = Me.urunıd.Column(1) & " - Satınalma"
Select Case Me.acl_odemyon
Case "Nakit"
GOdemeTuru = "NAKIT1"
Case "Kredi Kartı"
GOdemeTuru = "KREDIKARTI1"
Case "Banka"
GOdemeTuru = "BANKA1"
End Select
DoCmd.RunCommand acCmdSaveRecord
DoCmd.SetWarnings False
If DCount("*", "srg_boskontrol3") > 0 Then
DoCmd.RunSQL "UPDATE srg_boskontrol3 SET srg_boskontrol3.GIDERCESIDI = '" & GUrunAdi & "', " & GOdemeTuru & " = [Formlar]![frm_URUNGIRIS]![gırısfıyatı] WHERE (((srg_boskontrol3.ISLEMTARIHI)=[Formlar]![frm_URUNGIRIS]![ıstar]));"
Else
DoCmd.RunSQL "INSERT INTO tbl_KASA ( ISLEMTARIHI, " & GOdemeTuru & ", GIDERCESIDI ) SELECT tbl_URUNGIRIS.ıstar, tbl_URUNGIRIS.gırısfıyatı, '" & GUrunAdi & "' FROM tbl_URUNGIRIS INNER JOIN tbl_URUNLER ON tbl_URUNGIRIS.urunıd = tbl_URUNLER.URUNID WHERE (((tbl_URUNGIRIS.ıstar)=[Formlar]![frm_URUNGIRIS]![ıstar]) AND ((tbl_URUNGIRIS.gırısfıyatı)=[Formlar]![frm_URUNGIRIS]![gırısfıyatı]));"
End If
DoCmd.SetWarnings True
Me.Requery
Else
Me.Undo
End If
End If
End Sub
srg_boskontrol3 sorgusuna kredikartı1 ve banka1 alanlarını ekledim.
açılan kutudan Kredi kartı seçip toplam tutarı güncelleyince veriyi kredikartı1'e kaydediyor.
tabloya ödeme yöntemi ile ilgili alan eklerseniz açılan kutuya denetim kaynağı eklemelisin.
ayrıca ödeme yöntemlerini içeren tablo (1-nakit, 2-kredi kartı, 3-banka) eklenebilir.