Access'te VBA Kullanarak Kendi Bölünmüş Formunuzu Oluşturma

Şimdi paylaş:

Access'teki bölünmüş formlar son derece kullanışlıdır. Ne yazık ki, onları bir gezinme formunun içine yerleştirdiğinizde çalışmazlar. Access'in bölünmüş form işlevlerini simüle edecek ve bir gezinme formu içinde bile çalışmasını sağlayacak bir VBA işlevini nasıl oluşturabileceğinizi öğrenin.

Bölünmüş form, kayıtlarınızın aynı anda iki görünümüne sahip olmanızı sağlar - form görünümü ve veri sayfası görünümü. Tüm kayıtlarınıza genel bir bakış sağlarken aynı zamanda bunları tek tek görüntüleme ve düzenleme seçeneği sunar.

Ne yazık ki bölünmüş formlar, onları bir gezinme formunun içine koyduğunuzda çalışmaz - bu beni şaşırtıyor. İyi ki bunun için bir geçici çözüm var. VBA'yı kullanarak, Access'in bölünmüş biçimini simüle edecek kendi işlevinizi oluşturabilirsiniz. Aşağıdaki adımları takip ediniz.

Hemen İndir

eğer istersentart Özelliği mümkün olan en kısa sürede kullanmak için şunları yapabilirsiniz:

VBA Kodları ile Örnek Veritabanını Şimdi İndirin

Aksi takdirde, DIY yapmak istiyorsanız aşağıdaki içeriği okuyabilirsiniz.

Access'te VBA Kullanarak Kendi Bölünmüş Formunuzu Oluşturma Adımları

1. Bölünmüş formunuzu açın ve Varsayılan Görünümü Tek Form olarak güncelleyin. Bölünmüş Formunuzu Açın ve Varsayılan Görünümü Tek Form Olarak Güncelleyin

  1. Bölünmüş formunuzu açın.
  2. Tasarım görünümündeyken formu seçin.
  3. Özellik Sayfası (ALT + Enter) > Form sekmesine gidin.
  4. Varsayılan görünümü şu şekilde değiştirin: Tek Form.
  5. Formu kapatın ve kaydedin.

2. Formun bir kopyasını oluşturun. Bu, veri sayfası görünümü olarak hizmet edecektir.

  1. Gezinti bölmesine gidin.
  2. Formunuza sağ tıklayın ve Kopyala'yı seçin.
  3. Gezinme bölmesinde boş bir alana sağ tıklayın ve Yapıştır'ı seçin.
  4. Form adını değiştirin. “_Datasheet” ile ekleyin.

Örnek:

  • Form: Üyeler
  • Formun Kopyası: Üyeler_Veri Sayfası

3. Veri Sayfası Formunu açın ve form görünümü özelliklerini güncelleyin.

  1. Veri Sayfası formunu açın.
  2. Tasarım görünümündeyken formu seçin.
  3. Özellik Sayfası > Form sekmesine gidin.
  4. Aşağıdaki özellikleri güncelleyin:
    • Varsayılan görünüm: Veri Sayfası
    • Veri Sayfası Görünümüne İzin Ver: Evet
    • Form Görünümüne İzin Ver: Yok hayır
  5. Formu kapatın ve kaydedin.

4. Ana Formu yeniden açın ve Veri Sayfası Formunu alt form olarak ekleyin.

  1. Ana formu (kopyalanan) tasarım görünümünde açın.
  2. Bir alt form ekleyin.
    • Tasarım menüsüne gidin. Alt Form/Alt Rapor'u seçin.Alt Formu Seçin
    • Formun Detay alanına tıklayın.
    • Alt Form Sihirbazı görünecektir.Alt Form Sihirbazı

1. 'Mevcut bir formu kullan' seçeneğine tıklayın.

2.Veri sayfası formunuzu seçin.

3.İleri'yi tıklayın.'Kendimi Tanımla'yı seçin

4.'Kendimi tanımla'yı seçin.

5.Tıklayın.

3. Veri sayfası formu artık ana formunuzun bir alt formudur. İstediğiniz boyuta ve konuma ayarlayın.

5. Son olarak kodu ekleyin.

  1. VBA Editörünü açın (ALT + F11).
  2. Ana formu seçin ve aşağıdaki kodu yapıştırın.Ana Formu Seçin ve Kodu Yapıştırın
'MAIN FORM
Option Explicit

Private Sub Form_AfterUpdate()
   Me.Members_Datasheet.Requery
End Sub

Private Sub Form_Current()
   If Me.NewRecord Then
     Me.Members_Datasheet.Form.Recordset.AddNew
   Else
     Me.Members_Datasheet.Requery
   End If
End Sub
  1. Kodu kopyaladıktan sonra, kelimenin tüm örneklerini değiştirin Üyeler_Veri Sayfası veri sayfası formunuzun gerçek adıyla.
  2. İşiniz bittiğinde, Proje menüsünden Veri Sayfası Formunuzu seçin ve aşağıdaki kodu kopyalayın.
'SUBFORM/DATASHEET FORM
Option Explicit

Private Sub Form_AfterUpdate()
   Me.Parent.Form.Requery
End Sub

Private Sub Form_Current()

  Dim pk_field As String, pk_tbox As Control
  Dim primaryKey As String, strSearch As String
 
  Set pk_tbox = Me.Member_ID 'textbox containing primary key *
  pk_field = "Member_ID" 'primary key field name *

  primaryKey = Nz(pk_tbox.Value, 0) 'change value to 0 if null
  pk_field = "[" & pk_field & "]" 'enclose field name with brackets
 
  If primaryKey <> 0 Then 'if not null (or not a new record)
    strSearch = pk_field & "=" & primaryKey
    Me.Parent.Recordset.FindFirst strSearch
  Else
     Me.Parent.Form.Recordset.AddNew
  End If

End Sub
  1. Aşağıdaki değişkenler için değerleri güncelleyin:
  • pk_tbox – birincil anahtarı içeren metin kutusunu ifade eder.
  • pk_field – kayıt kaynağının birincil anahtar alanını ifade eder.

Kolayca bulabilmeniz için her birinin yorum bölümünde yıldız işareti (*) vardır.

  1. İşiniz bittiğinde, değişiklikleri kaydedin (CTRL + S) ve VBA Düzenleyicisini kapatın.

Artık kendi bölünmüş formunuzu navigasyon formunun içine ekleyebilirsiniz. Denemek!

Hasarlı Erişim Veritabanını (.accdb) Düzeltin

Bir Access veritabanının bozulmasının birçok nedeni olabilir. Ne yazık ki, m üzerinde kontrolümüz yokost onlardan. Eğer başınıza gelirse, onu kurtarmanın hala bir yolu olduğunu unutmayın. DataNumen Inc., gerçekleştiren bir yazılım oluşturmuştur. accdb onarımı. Buna bir bak.

Yazar Tanıtımı:

Jayme Stack, veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. sql kurtarma ve excel kurtarma yazılımı ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

Şimdi paylaş:

Yoruma kapalı.