Detailformulare Aufrufen - Access [Basics]

July 3, 2024, 12:35 pm

Das Unterformular verwendet die Tabelle tblArtikel als Datenherkunft und zeigt seine Daten in der Datenblattansicht an (siehe Bild 1). Bild 1: Unterformular mit der Liste der Artikel Das Hauptformular frmArtikeluebersicht nimmt das Unterformular auf und zunächst eine Schaltfläche namens cmdDetailsAnzeigen (siehe Bild 2). Datenblattmarkierungen - Access im Unternehmen. Wenn Sie die Eigenschaften Navigationsschaltflächen, Datensatzmarkierer und Bildlaufleisten des Hauptformulars auf Nein und Automatisch zentrieren auf Ja einstellen, erscheint das Formular in der Formularansicht wie in Bild 3. Bild 2: Haupt- und Unterformular in der Entwurfsansicht Bild 3: Haupt- und Unterformular in der Formularansicht Das Formular zur Anzeige der Artikeldetails heißt frmArtikeldetails und verwendet die Tabelle tblArtikel als Datenherkunft – genau wie das Unterformular sfmArtikeluebersicht. Es enthält alle Felder der Tabelle tblArtikel sowie eine Schaltfläche namens cmdOK, um das Formular wieder zu schließen (siehe Bild 4). Bild 4: Entwurf des Detailformulars Datensatz-ID per WhereCondition Eine Art, eine Information von einem Formular zum nächsten zu übergeben, ist die übergabe einer Bedingung per WhereCondition.

DatensÄTze In Unterformularen Anlegen - Access [Basics]

Wenn Sie Formular in der Datenblattansicht anzeigen, bietet die Benutzeroberfläche von Access bereits alles Nötige, um damit zu arbeiten. Alles Nötige Nein: Es gibt noch eine Reihe Dinge, die Sie mit dem Datenblatt anstellen können – zum Beispiel das Auslesen oder Einstellen von Markierungen. Datensätze in Unterformularen anlegen - Access [basics]. Dieser Beitrag zeigt, wie Sie die aktuell markierten Zellen im Datenblatt ermitteln und diese nach Ihren Wünschen einstellen. Außerdem packen wir die dazu notwendige Funktionalität in eine wiederverwendbare Klasse. Datenblatt im Formular Das Anlegen eines Formular, das seine Daten in der Datenblattansicht anzeigt, gelingt schnell: Sie brauchen lediglich ein neues Formular anzulegen, die gewünschte Tabelle oder Abfrage als Datenherkunft festzulegen, alle benötigten Felder aus der Feldliste in den Detailbereich des Formularentwurfs zu ziehen und als Standardansicht den Wert Datenblatt auszuwählen – schon liefert das Formular beim erneuten öffnen die ersehnte Ansicht. In Bild 1 landen beispielsweise gerade die Felder der Tabelle tblArtikel im Detailbereich.

Haupt- Und Unterformular Synchron - Access [Basics]

Sie erstellen ein Formular namens sfmProjekte, dass die Tabelle tblProjekte als Datenherkunft nutzt. Sie fügen das Formular sfmProjekte als Unterformular in das Hauptforular frmKunden ein. Dabei stellt Access normalerweise direkt die beiden Eigenschaften Verknüpfen von und Verknüpfen nach des Unterformularsteuerelements so ein, dass das Unterformular nur die Projekte zum jeweiligen Kunden des Hauptformulars anzeigt (siehe Bild 1). Beim Anlegen neuer Projekte im Unterformular wird das Fremdschlüsselfeld KundeID der Tabelle tblProjekte gleich mit dem Primärschlüsselwert des Datensatzes gefüllt, der im Hauptformular angezeigt wird. Bild 1: Normalerweise zeigt das Unterformular die verknüpften Datensätze an. Dies reicht auch normalerweise völlig aus, um verknüpfte Daten per Haupt- und Unterformular einzugeben. Haupt- und Unterformular synchron - Access [basics]. Dummerweise aber kann es auch passieren, dass der Benutzer erst ein Projekt einträgt und erst dann die Kundendaten. Dazu springt er zunächst auf einen leeren Kundendatensatz (oder er arbeitet mit einer neuen, leeren Datenbank – dann gibt es ohnehin noch keinen Kundendatensatz).

Datenblattmarkierungen - Access Im Unternehmen

Um diese beiden Werte im Klassenmodul des Hauptformulars speichern zu können, legen wir die folgenden beiden Variablen im Kopf des Moduls an: Dim intSelHeight As Integer Dim intSelTop As Integer Damit diese beim Verlassen des Unterformular-Steuerelements gefüllt werden, legen wir für das Ereignis Bei Verlassen dieses Elements die folgende Ereignisprozedur an: Private Sub frmKundenSelektieren_Exit(Cancel As Integer) intSelHeight = Me! intSelTop = Me! Wenn wir nun auf die Schaltfläche cmdSelektionAusgebenAlle klicken, wollen wir die folgende Ereignisprozedur auslösen: Private Sub cmdSelektionAusgebenAlle_Click() MsgBox "Erste markierte Zeile: " & intSelTop _ & vbCrLf _ & "Anzahl markierter Zeilen: " & intSelHeight Diese gibt dann einfach die Werte der beiden Variablen intSelTop und intSelHeight per Meldungsfenster aus. Von der Position zum Datensatz Nun wollen wir allerdings nicht nur auf die jeweiligen Zeilen der Datenblattansicht zugreifen, sondern auch auf die darin enthaltenen Daten.

HerstellerID = Me! HerstellerID End Sub Diese Prozedur stellt also den Datensatzmarkierer für das Recordset im Unterformular auf den Datensatz ein, dessen Primärschlüsselfeld HerstellerID dem passenden Wert im Hauptformular entspricht. Für das entsprechende Ereignis des Unterformulars verwenden wir eine ganz ähnliche Ereignisprozedur, welche die folgende Zeile enthält: "HerstellerID = " & Me! HerstellerID Diese versucht, den Datensatzzeiger im Recordset des Hauptformulars auf den Datensatz einzustellen, dessen HerstellerID im Unterformular ausgewählt wurde. öffnen wir nun das Formular in der Formularansicht, erhalten wir die Ansicht aus Bild 2 – es klappt also wie gewünscht. Bild 2: Beim Anzeigen erscheinen die Datensätze im Haupt- und Unterformular synchron. Das ist auch der Fall, wenn wir zwischen den Datensätzen im Haupt- oder im Unterformular navigieren. Es tritt erst ein Problem auf, wenn wir den Datensatzzeiger im Haupt- oder Unterformular auf einen neuen, leeren Datensatz verschieben.

[email protected]