ilginize teşekkür ederim ozan bey ama sorun devam etmekte. siz yanlış anladınız sanırım sorunu.. gördüğüm kadarıyla sizin eklediğiniz kod sadece formu kapatıyor..
sorunu tekrar anlatayım;
tüm kutucuklar doldurulup hata ile tab tuşuna bastım veya tüm kutular dolu iken satıştan vazgeçtim. şöyle bir durum oluşuyor;
ilgili kayıt (satışı yapılmak istenen alış), alışlar tablosunda satıldı işaretlenmiyor ve satışlar tablosuna yeni kayıt açıyor. (satıldı görünüyor)
ama ilgili kayıt satışlar formunda satışlar listesinde yine görünmekte.. (satış işleminden vazgeçildiği halde)
evet, kodları tam olarak anlamıyorum. yarım yamalak anlıyorum bu da yeterli olmuyor.
sanırım yapılan işlemi geri alma ile alakalı bir kod kullanmak gerek, sanırım bu da "Me.Undo" olsa gerek ki bu kod tek başına yeterli midir ve ya hangi satıra yazılmalıdır bilmiyorum.
uzunca yazıp kafa karıştırmak istemem ama ancak böyle anlatabildim, teşekkürler.
If IsNull(Me.satistarihi) Or IsNull(satisfiyati) Or IsNull(musteribilgi) Then
If MsgBox("Formda Boş Alanlar Mevcut. Kaydedilmeden Kapatılsın mı?", vbInformation + vbYesNo, "Kapatılıyor...") = vbYes Then
Me.Undo
DoCmd.Close
End If
Else
mesaj = MsgBox("Form Kapatılmadan Önce Girilen Veriler Kaydedilsin mi?", vbCritical + vbYesNoCancel, "Form Kapanıyor...")
Select Case mesaj
Case 6
Me.satisfiyati.Enabled = False
Me.satistarihi.Enabled = False
Me.musteribilgi.Enabled = False
DoCmd.RunSQL "UPDATE alislar SET [Satildi] = -1 WHERE [imeiid]=" & Me.imeiid.Value & ";"
MsgBox "Satış Gerçekleşti..."
DoCmd.Close
Case 7
Me.Undo
DoCmd.Close
Case 2
Exit Sub
End Select
End If
sanırım bunun gibi bir kod olmalı ama tam olarak doğru çalışmadı, nasıl yapabilirim bunu?
teşekkürler.
If IsNull(Me.satistarihi) Or IsNull(satisfiyati) Or IsNull(musteribilgi) Then
If MsgBox("Formda Boş Alanlar Mevcut. Kaydedilmeden Kapatılsın mı?", vbInformation + vbYesNo, "Kapatılıyor...") = vbYes Then
Me.Undo
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE satisid FROM satislar WHERE (((satisid) Is Null));")
DoCmd.SetWarnings True
DoCmd.Close
End If
Else
mesaj = MsgBox("Form Kapatılmadan Önce Girilen Veriler Kaydedilsin mi?", vbCritical + vbYesNoCancel, "Form Kapanıyor...")
Select Case mesaj
Case 6
Me.satisfiyati.Enabled = False
Me.satistarihi.Enabled = False
Me.musteribilgi.Enabled = False
DoCmd.RunSQL "UPDATE alislar SET [Satildi] = -1 WHERE [imeiid]=" & Me.imeiid.Value & ";"
MsgBox "Satış Gerçekleşti..."
DoCmd.Close
Case 7
Me.Undo
DoCmd.Close
Case 2
Exit Sub
End Select
End If
son olarak böyle düzenledim kodları. ve şu an sanırım kayıtlarda bir hata vermiyor (ileriki zamanlarda bu kodlar bana sorun yaşatır mı bilemiyorum)
kutular dolu iken form kapatıldığında, evet seçilince şöyle bir uyarı alıyorum:
sonrasında da düzgün bir şekilde işlem kaydediliyor.
bunu uyarının görünmesinin sebebini anlayamadım. sanırım kodlar da eksiklik var.
forumda bilgili arkadaşlara rica ediyorum, bu uyarıyı nasıl önleyebilirim? bu kodlar doğru mu?
telefon.rar
(Dosya Boyutu: 84,17 KB | İndirme Sayısı: 11)