Makale numarası: 248011 - Son Gözden Geçirme: 23 Haziran 2005 Perşembe - Gözden geçirme: 2.0

ACC2000: How to Access veritabanları, Denetim bağlı form hareketleri

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Gelişmiş: Uzman kodlama, birlikte çalışabilirlik ve çok kullanıcılı becerileri gerektirir.

Bu makale yalnızca Microsoft Access veritabanı (.mdb) için geçerlidir.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, veri erişim nesneleri (DAO) (ilişkili bir form) ' (Jet) Microsoft Access veritabanındaki bir tabloya dayalı bir form denetimi hareketlerin nasıl gösterir.

Daha fazla bilgi

Genellikle bir geliştirici veya form üzerindeki veri değişikliklerini hiçbiri veritabanı uygulama commit tüm kullanıcıları sorgulayabilmesi gerekir. <a1>Sürüm</a1> 2000'den önceki Access sürümlerinde, işlemler içinde ilişkili formlarda yaptığınız veri değişiklikleri kapsülleyen değil. Bu, tüm hareketleri ilişkili formlarda, yalnızca Microsoft Access için erişilebilir ayrı bir çalışma alanında işlenmiş nedeniyle oldu.

Microsoft Access 2000'de, ancak, ve veri erişim nesneleri (DAO) yeni bir birleşimi, Recordset özelliği, bu beceriyi sağlamak üzere form. Bu makaledeki örnekte, kullanıcının kullanıcı formu kapattığında, form verilerde yapılan tüm değişiklikler kaydedilmeye sorulmasını sağlamak istediği varsayar. O anda kullanıcı, tüm değişiklikleri veya değişikliklerin hiçbiri ya da kayıt.

Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de 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. Not: Bu makaledeki örnek kod Microsoft Data Access Objects kullanır. Bu kodun düzgün çalışması için Microsoft DAO 3.6 Nesne Kitaplığı'na başvurmalısınız. Bunu yapmak için <a0></a0>, Visual Basic Düzenleyicisi'nde Araçlar menüsünden Başvurular ' ı tıklatın ve sonra Microsoft DAO 3.6 Nesne Kitaplığı</a0> onay kutusunun seçili olduğundan emin olun.

Not: Bu örnek, tek bir ana form ile çalışmak üzere tasarlanmıştır. Bağlantılı bir alt form ile çalışmak üzere tasarlanmamıştır.

Hareketler bağlı formlarda denetleme

  1. Northwind.mdb örnek veritabanını açın.
  2. Müşteriler tablosuna dayalı yeni bir form oluşturun.
  3. Tüm alanları, form <a1>ayrıntı</a1> bölümüne ekleyin.
  4. Görünüm menüsünde kodu modüle formunun görüntülemek için tıklatın ve sonra da aşağıdaki kodu modüle ekleyin:
    Option Compare Database
    Option Explicit
    
    Private boolFrmDirty As Boolean
    Private boolFrmSaved As Boolean
    
    Private Sub Form_AfterDelConfirm(Status As Integer)
        If Me.Saved = False Then Me.Saved = (Status = acDeleteOK)
    End Sub
    
    Private Sub Form_AfterUpdate()
        Me.Saved = True
    End Sub
    
    Private Sub Form_Delete(Cancel As Integer)
        If Me.Dirtied = False Then DBEngine.BeginTrans
        Me.Dirtied = True
    End Sub
    
    Private Sub Form_Dirty(Cancel As Integer)
        If Me.Dirtied = False Then DBEngine.BeginTrans
        Me.Dirtied = True
    End Sub
    
    Private Sub Form_Open(Cancel As Integer)
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Set db = CurrentDb
        Set rs = db.OpenRecordset("SELECT * FROM Customers", dbOpenDynaset)
        Set Me.Recordset = rs
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
        Dim msg As Integer
        If Me.Saved Then
            msg = MsgBox("Do you want to commit all changes?", vbYesNoCancel)
            Select Case msg
                Case vbYes
                    DBEngine.CommitTrans
                Case vbNo
                    DBEngine.Rollback
                Case vbCancel
                    Cancel = True
            End Select
        Else
            If Me.Dirtied Then DBEngine.Rollback
        End If
    End Sub
    
    Public Property Get Dirtied() As Boolean
        Dirtied = boolFrmDirty
    End Property
    
    Public Property Let Dirtied(boolFrmDirtyIn As Boolean)
        boolFrmDirty = boolFrmDirtyIn
    End Property
    
    Public Property Get Saved() As Boolean
        Saved = boolFrmSaved
    End Property
    
    Public Property Let Saved(boolFrmSavedIn As Boolean)
        boolFrmSaved = boolFrmSavedIn
    End Property
    					
  5. Hata Ayıkla) menüsünde, Northwind Derle'yi tıklatın.
  6. Dosya menüsünde Kaydet Northwind ' ı tıklatın.
  7. Istendiğinde, formu frmCustomers kaydedin.
  8. FrmCustomers formu Form görünümünde açın. Formdaki verilerle doldurulan unutmayın.
  9. Varolan bir kayıt düzenleme, bazı yeni kayıtlar ekleme ve bazı kayıtlar siliniyor, birkaç değişiklik yapın.
  10. Formu kapatın. Tüm değişiklikleri kaydetmek istiyorsanız, istendiğinde unutmayın.
  11. Tıklatın No
  12. Formu Form görünümünde açın. Adım 9'te yaptığınız değişikliklerin hiçbiri veritabanına kaydedilen unutmayın.
  13. 9 Ve 10 numaralı adımları yineleyin.
  14. Tüm değişiklikleri kaydetmek isteyip istemediğiniz sorulduğunda, Evet ' i tıklatın.
  15. Formu Form görünümünde açın. Yaptığınız tüm değişiklikler veritabanına kaydedilen unutmayın.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto KB248011 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:248011  (http://support.microsoft.com/kb/248011/en-us/ )