Kullanıcıdan Access'te bir formdaki kayıtta yapılan değişiklikleri kaydetmesini isteme
Özgün KB numarası: 197103
İpucu
Temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.
Özet
Formdaki bir sonraki kayda geçtiğiniz veya formu kapattığınızda, Microsoft Access geçerli kayıtta yaptığınız değişiklikleri otomatik olarak kaydeder. Bu makalede, Microsoft Access devam etmeden önce kaydetme işlemini doğrulamanızı isteyen bir BeforeUpdate olay yordamının nasıl kullanılacağı gösterilmektedir.
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna zımni garantiler, satılabilirlik veya belirli bir amaca uygunluk da dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler.
Ek Bilgi
Dikkat
Bu örnekteki adımları izlerseniz örnek veritabanı Northwind.mdb değiştirirsiniz. Northwind.mdb dosyasını yedeklemek ve veritabanının bir kopyasında bu adımları izlemek isteyebilirsiniz.
Bu örnekte, Microsoft Access kaydı kaydetmeden önce kullanıcıdan değişiklikleri onaylamasını istemesi için Müşteriler formundaki BeforeUpdate olay yordamı kullanılır:
Örnek veritabanı Northwind.mdb açın ve Müşteriler formunu Tasarım görünümünde açın.
Formun
BeforeUpdate
özelliğini aşağıdaki olay yordamına ayarlayın:Private Sub Form_BeforeUpdate(Cancel As Integer) ' This procedure checks to see if the data on the form has ' changed. If the data has changed, the procedure prompts the ' user to continue with the save operation or to cancel it. Then ' the action that triggered the BeforeUpdate event is completed. Dim ctl As Control On Error GoTo Err_BeforeUpdate ' The Dirty property is True if the record has been changed. If Me.Dirty Then ' Prompt to confirm the save operation. If MsgBox("Do you want to save?", vbYesNo + vbQuestion, _ "Save Record") = vbNo Then Me.Undo End If End If Exit_BeforeUpdate: Exit Sub Err_BeforeUpdate: MsgBox Err.Number & " " & Err.Description Resume Exit_BeforeUpdate End Sub
Hata Ayıkla menüsünde Derle Northwind'e tıklayın.
Dosya menüsünde Northwind'i Kaydet'e tıklayın.
Dosya menüsünde Kapat'a tıklayın ve Microsoft Access'e dönün.
Şimdi, bir kayıtta değişiklik yaptığınızda ve sonra farklı bir kayda geçtiğinde veya formu kapattığınızda, geçerli kaydı kaydetmek istediğinizi onaylamanız istenir. Hayır'a tıklarsanız, kayıt sıfırlanır ve işlem normal şekilde devam eder.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin