So erstellen Sie Ihr eigenes geteiltes Formular in Access mit VBA

Jetzt teilen:

Geteilte Formulare in Access sind äußerst nützlich. Leider funktionieren sie nicht, wenn Sie sie in ein Navigationsformular einfügen. Erfahren Sie, wie Sie eine VBA-Funktion erstellen können, die die Funktionen für geteilte Formulare von Access simuliert und auch innerhalb eines Navigationsformulars funktioniert.

Mit dem geteilten Formular können Sie zwei Ansichten Ihrer Datensätze gleichzeitig haben - Formularansicht und Datenblattansicht. Sie haben einen Überblick über alle Ihre Datensätze und können diese gleichzeitig einzeln anzeigen und bearbeiten.

Leider funktionieren geteilte Formulare nicht, wenn Sie sie in ein Navigationsformular einfügen - etwas, das mich verblüfft. Gut, dass es dafür eine Problemumgehung gibt. Mit VBA können Sie Ihre eigene Funktion erstellen, die das geteilte Formular von Access simuliert. Befolgen Sie einfach die folgenden Schritte.

Jetzt kostenlos herunterladen

Wenn Sie die Funktion so schnell wie möglich nutzen möchten, dann können Sie Folgendes tun:

Laden Sie jetzt die Beispieldatenbank mit VBA-Codes herunter

Andernfalls können Sie den folgenden Inhalt lesen, wenn Sie selbst basteln möchten.

Schritte zum Erstellen eines eigenen geteilten Formulars in Access mit VBA

1. Öffnen Sie Ihr geteiltes Formular und aktualisieren Sie die Standardansicht auf Einzelformular. Öffnen Sie Ihr geteiltes Formular und aktualisieren Sie die Standardansicht auf ein einzelnes Formular

  1. Öffnen Sie Ihr geteiltes Formular.
  2. Wählen Sie in der Entwurfsansicht das Formular aus.
  3. Gehen Sie zur Registerkarte Eigenschaftenblatt (ALT + Eingabetaste)> Formular.
  4. Ändern Sie die Standardansicht in: Einzelformular.
  5. Schließen Sie das Formular und speichern Sie es.

2. Erstellen Sie eine Kopie des Formulars. Dies dient als Datenblattansicht.

  1. Gehen Sie zum Navigationsbereich.
  2. Klicken Sie mit der rechten Maustaste auf Ihr Formular und wählen Sie Kopieren.
  3. Klicken Sie mit der rechten Maustaste auf einen leeren Bereich im Navigationsbereich und wählen Sie Einfügen.
  4. Ändern Sie den Formularnamen. Fügen Sie es mit "_Datasheet" hinzu.

Ejemplo:

  • Form: Mitglieder
  • Kopie des Formulars: Members_Datasheet

3. Öffnen Sie das Datenblattformular und aktualisieren Sie die Eigenschaften der Formularansicht.

  1. Öffnen Sie das Datenblattformular.
  2. Wählen Sie in der Entwurfsansicht das Formular aus.
  3. Gehen Sie zur Registerkarte Eigenschaftenblatt> Formular.
  4. Aktualisieren Sie die folgenden Eigenschaften:
    • Standardansicht: Datenblatt
    • Datenblattansicht zulassen: Ja
    • Formularansicht zulassen: Nein
  5. Schließen Sie das Formular und speichern Sie es.

4. Öffnen Sie das Hauptformular erneut und fügen Sie das Datenblattformular als Unterformular hinzu.

  1. Öffnen Sie das Hauptformular (das kopierte) in der Entwurfsansicht.
  2. Fügen Sie ein Unterformular hinzu.
    • Gehen Sie zum Menü Design. Wählen Sie Unterformular / Unterbericht.Wählen Sie Unterformular
    • Klicken Sie auf den Detailbereich des Formulars.
    • Der SubForm-Assistent wird angezeigt.Der SubForm-Assistent

1. Klicken Sie auf "Vorhandenes Formular verwenden".

2.Wählen Sie Ihr Datenblattformular.

3.Klicken Sie auf Weiter.Wählen Sie "Meine eigenen definieren".

4.Wählen Sie 'Mein eigenes definieren'.

5.Klicken Sie auf Fertig stellen.

3. Das Datenblattformular ist jetzt ein Unterformular Ihres Hauptformulars. Stellen Sie es auf die gewünschte Größe und Position ein.

5. Fügen Sie abschließend den Code hinzu.

  1. Öffnen Sie den VBA-Editor (ALT + F11).
  2. Wählen Sie das Hauptformular aus und fügen Sie den folgenden Code ein.Wählen Sie das Hauptformular aus und fügen Sie den Code ein
'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. Ersetzen Sie nach dem Kopieren des Codes alle Instanzen des Wortes Mitglieder_Datenblatt mit dem tatsächlichen Namen Ihres Datenblattformulars.
  2. Wenn Sie fertig sind, wählen Sie Ihr Datenblattformular aus dem Menü Projekt und kopieren Sie den folgenden Code.
'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. Aktualisieren Sie die Werte für die folgenden Variablen:
  • pk_tbox - bezieht sich auf das Textfeld mit dem Primärschlüssel.
  • pk_field - bezieht sich auf das Primärschlüsselfeld der Datensatzquelle.

Sie haben jeweils ein Sternchen (*) im Kommentarbereich, damit Sie sie leicht finden können.

  1. Wenn Sie fertig sind, speichern Sie die Änderungen (STRG + S) und schließen Sie den VBA-Editor.

Jetzt können Sie Ihr eigenes geteiltes Formular in das Navigationsformular einfügen. Versuch es!

Beschädigte Access-Datenbank (.accdb) reparieren

Es gibt viele Gründe, warum eine Access-Datenbank beschädigt werden kann. Leider haben wir auf die meisten davon keinen Einfluss. Sollte Ihnen das passieren, denken Sie daran, dass es dennoch eine Möglichkeit gibt, die Datenbank wiederherzustellen. DataNumen Inc. hat eine Software entwickelt, die funktioniert accdb Reparatur. Hör zu.

Einführung des Autors:

Jayme Stack ist ein Experte für Datenwiederherstellung in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich SQL-Wiederherstellung und Excel-Wiederherstellungssoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX

Jetzt teilen:

Kommentare sind geschlossen.