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:

  1. Örnek veritabanı Northwind.mdb açın ve Müşteriler formunu Tasarım görünümünde açın.

  2. 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
    
  3. Hata Ayıkla menüsünde Derle Northwind'e tıklayın.

  4. Dosya menüsünde Northwind'i Kaydet'e tıklayın.

  5. 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.