Access'e yeni gelen biriyim, bu yüzden henüz bunu çözemedim. Googling’ten sonra aşağıdaki kodu buldum, ancak bununla ilgili sorunlar var.
Bir alt form içeren bağlı bir formum var. Kullanıcının istediği forma bir düğme yerleştirdim var Kaydı kaydetmek için tıklayın.
Aşağıdaki kod, düğmeye tıklandığında kaydı kaydetmez. Tamam, alt forma tıklattığımda bir mesaj kutusu açıldı, tamam mı, ancak kutudan "X" alıp "tamam" ı tıklayıp kayıttan kurtardı.
Herhangi bir yardım takdir edilecektir. Bu kodu değiştirmek veya tamamen farklı bir kod uygulamak.
Option Compare Database
Option Explicit
Dim tfAllowSave As Boolean
Private Sub btnSave_Click()
tfAllowSave = True
If Me.Dirty Then Me.Dirty = False
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If tfAllowSave = False Then
Cancel = False
MsgBox "Do you want to save the record?"
End If
tfAllowSave = False
End Sub
Burada birkaç sorun var. Kirli değişkeni değiştirmek yerine formu temizleyin. Msgbox'ın evet / hayır seçeneğine sahip olması ve ardından bunu bir değişkene kaydetmeniz gerekir. Daha sonra bu değişkenin = vbyes / vbno olup olmadığını kontrol etmek ve istediğiniz gibi yapmak için bir if ifadesini kullanabilirsiniz. Örneğin, hayır'ı tıklarlarsa, iptal et = true
—
Lister
Yorumlarınız için teşekkürler. Yukarıdaki kodu kopyalarsam ve yeni kayıt işlemek, silmek ve kaydetmek için düğme sihirbazını kullanırsam, ihtiyacım olanın çoğunu gerçekleştirir. Ana forma yazdığınız bilgileri korurken, bir alt forma tıkladığınızda ana formun tasarruf etmesini engellemenin bir yolu olmadığını okudum.
—
Tony Tambe
Bu doğru, alt forma tıkladığınızda, deneyecek ve ana formdaki bilgileri kaydedeceksiniz. Kaydı kabul etmeniz veya iptal etmeniz ve ana formdaki bilgileri silmeniz gerekir. Ben de aynı sorunu yaşadım!
—
Lister