Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Mit einer Untertabelle (Komposition) werden engere Beziehungen zwischen Tabellen geknüpft
Wenn wir nach erfolgreicher Durchführung einer Veranstaltung eine Rechnung über den Verzehr schreiben möchten, besteht die Rechnung voraussichtlich aus verschiedenen Positionen.
Hier ist eine enge Verknüpfung erwünscht: Wenn eine Rechnung gelöscht wird, ist es sinnvoll, auch die darin enthaltenen Positionen zu löschen, da sie nicht mehr benötigt werden. Sie waren ausschließlich dieser Rechnung zugeordnet.
Diese enge Beziehung zwischen 2 Tabellen nennen wir auch Komposition.
Untertabellen sind ein mächtiges Tool im Ninox-Baukasten!
Sie können damit robuste Datenbank-Systeme aufbauen, die Ihnen jederzeit Zugriff in Echtzeit auf Ihre Daten geben.
Wir fangen aber etwas kleiner an und führen Sie zuerst anhand eines einfachen Beispiels Schritt-für-Schritt durch das Erstellen einer Untertabelle ...
Erfahren Sie mehr zu den Arten von Tabellen-Beziehungen und wie diese in Ninox angezeigt werden
Aus Schritt-für-Schritt für Fortgeschrittene wissen Sie, dass man Tabellen miteinander verknüpfen kann, sodass Informationen aus beiden Tabellen zur Verfügung stehen, aber nur 1 x gepflegt werden müssen.
In unserem Beispiel hatten wir in der Datenbank Event-Management die Tabelle Events mit der Tabelle Firma verknüpft.
Dabei konnte jeder Veranstaltung in der Tabelle Events nur 1 Unternehmen aus der Tabelle Firma zugeordnet werden, das diese Veranstaltung beauftragt hat.
1 Unternehmen kann aber selbstverständlich diverse (N) Veranstaltungen beauftragen.
Jede Rechnung braucht ein Datum – manuell oder automatisch
Sie können
das aktuelle Datum manuell eingeben, indem Sie in der Formular-Ansicht auf das Datum-Feld klicken und Heute auswählen, oder
Sie fügen in den Feld-Einstellungen des Datum-Felds einen Standardwert hinzu. Dann wird beim Erstellen der neuen Rechnung (sprich: eines neuen Datensatzes in der Tabelle Rechnungen) automatisch das heutige Datum hinzugefügt (wir machen mit dieser Option weiter).
Wir holen uns Informationen aus einer anderen Tabelle
Wir wissen, wer der Auftraggeber einer Veranstaltung ist. Diese Verknüpfung zwischen Event und Firma (Ansprechpartner) haben wir bereits eingefügt.
Aufgrund dieser Verknüpfung können wir uns den Rechnungsempfänger der Firma in die Rechnung ziehen.
Wir haben bereits ein Formel-Feld Rechnungsempfänger angelegt.
Wir öffnen in den Tabellen-Einstellungen von Rechnungen die Feld-Einstellungen des Formel-Felds Rechnungsempfänger.
Wir klicken in das Feld Formel. Der Formel-Editor wird geöffnet.
Zur Erinnerung: Der Rechnungsempfänger ist über die Firma einer Veranstaltung zugeordnet. In der Tabelle Firma haben wir im Feld Vor- und Nachname den Ansprechpartner hinterlegt.
Wir „holen“ uns die entsprechende Information über die zur Verfügung stehenden Felder am linken Seitenrand:
Öffnen Sie das Untermenü von Veranstaltung, indem Sie auf den Pfeil klicken .
Öffnen Sie das Untermenü von Firma, indem Sie auf den Pfeil klicken .
Klicken Sie auf Vor- und Nachname.
Im Formel-Editor steht dann
In der Tabelle Veranstaltungen wird über Firma der Inhalt des Feldes Vor- und Nachname gezogen.
Speichern nicht vergessen!
Folgen wir unserem Beispiel, um unser kleines Skript zu testen.
Erstellen Sie eine Rechnung.
Klicken Sie im Formular ins Feld Veranstaltung und wählen Sie die Veranstaltung 80. Geburtstag von Frau Luise Müller aus.
Um verschiedene Positionen in unserer Rechnung eingeben zu können, fügen wir als Nächstes eine Untertabelle ein ...
Über die Verknüpfung Event Firma wird der Ansprechpartner (Stephen Regal) gezogen.
Die ersten Vorbereitungen sind getroffen!
Diese Arte der Beziehung, also 1 Datensatz aus einer Tabelle, kann vielen (N) Datensätzen aus einer anderen Tabelle zugeordnet werden, heißt 1:N-Beziehung (sprich: 1 zu N-Beziehung).
Schauen wir uns das Ganze in Ninox an unserem Beispiel an.
Öffnen Sie die Datenbank (hier: Event-Management).
Wählen Sie in den Datenbank-Einstellungen die Option Datenmodell aus.
Im Datenmodell können Sie zu jeder Zeit nachschauen, wie Ihre Datenbank strukturiert ist.
In unserem Beispiel wird die Tabelle Events als untergeordnete Tabelle zur Tabelle Firma angezeigt.
Viele (N) Events können einer (1) Firma zugeordnet werden.
Wenn Sie einen Datensatz in der einen oder anderen Tabelle löschen, hat dies keine Auswirkungen auf die Daten der jeweils anderen Tabelle. Die beiden Tabellen stellen lediglich der anderen Tabelle Informationen zur Verfügung.
Manchmal kann es aber sehr hilfreich sein, engere Beziehungen zwischen Tabellen herzustellen ...
Sie möchten das Thema vertiefen? Schauen Sie sich dazu unser Video-Tutorial an.
Wir zeigen Ihnen anhand eines Beispiels, wie Sie eine Komposition anlegen
Wir sind weiterhin in unserem Beispiel: Die Veranstaltung hat erfolgreich stattgefunden, es wurde mit Champagner auf den 80. Geburtstag der Senior-Chefin angestoßen, dazu wurden kleine Brötchen und Brezeln als Snack gereicht. Selbstverständlich standen für die Gäste auch noch weitere Getränke bereit.
Na, klingelt es schon, was wir als Nächstes tun werden? Genau! Wir erstellen weitere Tabellen! Darin enthalten sind alle Verzehrmöglichkeiten mit den entsprechenden Preisen. Wir möchten ja eine Rechnung schreiben.
Erstellen Sie eine neue Tabelle Essen & Trinken mit folgenden Feldern:
Name des Feldes | Art des Feldes |
---|---|
Füllen Sie die Tabelle mit Ihrem Angebot auf, oder importieren Sie einfach unsere Vorlage.
Auf der (nächsten) Seite Extra: Zahlenformat anpassen, erfahren Sie, wie Sie das Format der Einzelpreise anpassen.
Erstellen Sie eine weitere Tabelle Rechnungen mit folgenden Feldern:
Name des Feldes | Art des Feldes |
---|---|
Ihr Formular in der Tabelle Rechnungen sollte jetzt so ausschauen:
Etwas Datenbank-Theorie muss nicht schaden ...
Schauen wir uns jetzt unser Datenmodel noch einmal an, um besser zu verstehen, was wir gemacht haben.
Gehen Sie zur Datenbank Event-Management.
Aktivieren Sie den Bearbeitungsmodus .
Wählen Sie in den Datenbank-Einstellungen die Option Datenmodell aus.
Das sieht nun schon ganz anders als beim letzten Mal aus, als wir uns die 1:N-Beziehung angeschaut haben. Wir haben nämlich einen weiteren Beziehungstyp, eine M:N-Beziehung, in unser Datenmodell eingefügt.
Wie in den meisten relationalen Datenbanksystemen wird auch in Ninox diese Verbindungsart indirekt, über eine 3. Tabelle, die Verbindungstabelle dargestellt.
Über unser Tabellen-Konstrukt aus Rechnungen und Rechnungspositionen sind die Tabellen Events und Essen & Trinken miteinander verbunden.
Wir werfen einen detaillierten Blick auf die Untertabelle
Im Formular der Rechnung öffnen Sie das Formular der Untertabelle, indem Sie auf + Datensatz erstellen klicken.
Schauen wir uns die Untertabelle etwas genauer an. Sie sehen in der Formular-Ansicht die eingefügten Felder und Verknüpfungen.
In die grau hinterlegten Felder können Sie direkt Daten eingeben oder sich entsprechende Daten ziehen.
Den weiß hinterlegten Feldern werden wir wieder kleine Aufgaben zuweisen.
Die Verknüpfung zur Tabelle Rechnungen wird automatisch eingefügt.
* Für Super-Profis: Wir wissen natürlich, dass dies nicht die optimale Herangehensweise ist. Das werden wir beim Thema Trigger anpassen. Bitte etwas Geduld!
Alle Vorbereitungen sind getroffen – Wir fügen die Untertabelle ein
Wir erstellen nun die Untertabelle, in die wir alle Positionen des Verzehrs eintragen. Die Rechnung zeigt zum Abschluss den Gesamtbetrag an.
Wir öffnen den Bearbeitungsmodus in der Tabelle Rechnungen.
Unten rechts klicken Sie auf Untertabelle. Es öffnen sich die Tabellen-Einstellungen der Untertabelle. Mehr zu Schnellzugriffe im Bearbeitungsmodus
Geben Sie der Tabelle den Namen Rechnungspositionen (und vielleicht noch ein Symbol (s. Box unten)).
Fügen Sie folgende Felder hinzu und Speichern Sie Ihre Arbeit:
Name des Feldes | Art des Feldes |
---|---|
Tipp: Wenn Sie möchten, fügen Sie bei der Benennnung der Tabelle Rechnungspositionen (s.o.) zur besseren Unterscheidbarkeit als Symbol eine Kette (N9) ein.
Wählen Sie über die Schnell-Formatierung das passende Zahlenformat aus
Wir müssen dem Zahlen-Feld noch sagen, dass es die Werte als Preis mit Währung und 2 Stellen nach dem Komma anzeigen soll.
Klicken Sie dazu in den Tabellen-Einstellungen auf das Feld Einzelpreis, um die Feld-Einstellungen zu öffnen.
Unter Zahlenformat wählen Sie über die Schnell-Formatierung das gewünschte Format aus.
... und die Preise werden korrekt angezeigt.
Wir weisen Feldern bestimmte Automatisierungen zu
Wir haben die neue Tabelle Rechnungen angelegt; jetzt werden wir den Feldern kleine „Aufgaben“ zuweisen. So automatisieren wir ein paar Abläufe.
Wenn Sie nicht schon da sind, gehen Sie in die Tabellen-Einstellungen der Tabelle Rechnungen.
Klicken Sie – wenn nicht anders angegeben – auf das zu bearbeitende Feld, um die Feld-Einstellungen zu öffnen.
Wir werden gleich nacheinander folgende Felder bearbeiten
Rechnungsnummer (1) (hier geben Sie das Skript direkt in den Tabellen-Einstellungen ein)
Rechnungsdatum (2) (in den Feld-Einstellungen des Datum-Felds)
Rechnungsempfänger (3) (in den Feld-Einstellungen des Formel-Felds)
Keine Sorge! Wie das alles geht, zeigen wir Ihnen auf den nächsten Seiten ...
Hier erfahren Sie, wie Sie die Untertabelle nach Ihren Bedürfnissen einrichten
Die Untertabelle Rechnungspositionen wird Ihnen in der Formular-Ansicht der Tabelle Rechnungen angezeigt.
Da wir für die Rechnung nur die Anzeige der Felder
Bezeichnung
Anzahl
Einzelpreis und
Gesamt
brauchen, passen wir die Untertabelle an.
Außerdem ergänzen wir gleich noch die Berechnung der Gesamt-Summe.
Klicken Sie in der Untertabelle auf Nr und es öffnet sich ein Pop-up.
Wählen Sie Spalte ausblenden.
Blenden Sie ebenfalls zu RgNr. aus.
Vergrößern Sie das Feld Bezeichnung, indem Sie die Trennlinie nach rechts schieben.
Klicken Sie auf Gesamt, bis sich das Pop-up öffnet.
Klicken Sie auf Summe.
Jetzt werden alle Beträge, die wir in Kürze in unsere Rechnung einfügen, automatisch addiert und der Rechnungsbetrag angezeigt.
... noch ein bisschen mehr Theorie
Des Weiteren haben wir in der Tabelle Rechnungen eine Untertabelle (Komposition) eingefügt, die sehr eng mit der Tabelle Rechnungen verbunden ist.
Sie sehen diese enge Verbindung
links in der blauen Seitenleiste, wo die Untertabelle Rechnungspositionen unter der Tabelle Rechnungen eingefügt wurde und nicht automatisch sichtbar ist.
indem Sie in der Untertabelle Rechnungspositionen die Feld-Einstellungen des Verknüpfungs-Felds Rechnungen öffnen. Dort sehen Sie unter Komposition, dass Ja angezeigt wird.
Über diese Einstellung können Sie eine verknüpfte Tabelle nachträglich zu einer Untertabelle (Ja) bzw. dies auch wieder rückgängig machen (Nein).
die Untertabelle wird im Datenmodell verschachtelt angezeigt.
die Untertabelle wird in der Seitenleiste der Datenbank-Übersicht nicht (direkt) angezeigt.
wird 1 Datensatz in der Obertabelle gelöscht, werden automatisch alle verknüpften Datensätze der Untertabelle gelöscht.
Untertabellen eignen sich gut für Elemente, die eng miteinander verbunden sind.
Eine Rechnung braucht immer eine eindeutige Rechnungsnummer.
Wenn Sie möchten, können Sie für die Eingabe einer eindeutigen Rechnungsnummer kurz einen Ausflug zu einem Anwendungsbeispiel auf einer anderen Seite unserer Dokumentation machen. Oder Sie folgen der Kurzanleitung hier auf dieser Seite.
Fügen Sie über Copy-and-paste den Code-Schnipsel
in den Tabellen-Einstellungen der Tabelle Rechnungen unter Trigger bei neuem Datensatz ein.
Die ausführliche Anleitung finden Sie unter (am besten in einem neuen Tab in Ihrem Browser öffnen) in unserem Anwendungsbeispiel Automatische Rechnungsnummer.
Bei der Erstellung einer neuen Rechnung wird automatisch eine eindeutige Rechnungsnummer vergeben.
Wir lassen Ninox die Arbeit machen ...
Um Aufgaben zu automatisieren, hinterlegen wir in einigen Feldern wieder Informationen, die uns dabei helfen.
Gehen Sie in die Untertabelle Rechnungspositionen.
Aktivieren Sie den Bearbeitungsmodus .
Wir gehen nacheinander die (weißen) Felder durch:
Bezeichnung
Einzelpreis
Gesamt
zugehörige Rechnungsnummer
Klicken Sie auf das Feld Bezeichnung.
Klicken Sie in dem rot markierten Feld auf das Schraubenschlüssel-Symbol, um in die Feld-Einstellungen zu kommen.
Klicken Sie auf das Feld Formel, um den Formel-Editor zu öffnen.
Die Bezeichnung des konsumierten Artikels holen wir uns aus der Tabelle Essen & Trinken. Öffnen Sie dazu das Untermenü von Essen & Trinken, indem Sie auf den Pfeil klicken und wählen Sie Bezeichnung aus.
Alternative: Sie können natürlich auch direkt im Formel-Editor schreiben. Sobald Sie anfangen, wird der Formel-Editor Ihnen Vorschläge machen. Probieren Sie es aus!
Den Einzelpreis holen wir uns ebenfalls aus der Tabelle Essen & Trinken. Also alles wie oben:
Klicken Sie auf das Feld Einzelpreis.
Klicken Sie in dem Feld auf das Schraubenschlüssel-Symbol, um in die Feld-Einstellungen zu kommen.
Klicken Sie auf das Formel-Feld, um den Formel-Editor zu öffnen.
Vergessen Sie nicht, in den Feld-Einstellungen auch gleich das Zahlenformat anzupassen.
Hier fügen wir in das Formel-Feld eine Rechenoperation ein. Ansonsten alles wie gehabt:
Klicken Sie auf das Feld Gesamt.
Klicken Sie in dem Feld auf das Schraubenschlüssel-Symbol, um in die Feld-Einstellungen zu kommen.
Klicken Sie auf das Formel-Feld, um den Formel-Editor zu öffnen.
Vergessen Sie nicht, in den Feld-Einstellungen auch gleich das Zahlenformat anzupassen.
Die entsprechende Rechnungsnummer bekommen wir aus der Tabelle Rechnungen. Das Prozedere ist wieder das Gleiche:
Klicken Sie auf das Feld RgNr..
Klicken Sie in dem Feld auf das Schraubenschlüssel-Symbol, um in die Feld-Einstellungen zu kommen.
Klicken Sie auf das Formel-Feld, um den Formel-Editor zu öffnen.
Aktivieren Sie den Bearbeitungsmodus .
Speichern nicht vergessen!
Eine Verzehrmöglichkeit (z.B. Kuchen ) aus der Tabelle Essen & Trinken kann auf verschiedenen Events verzehrt, also mit diesen verknüpft, werden.
Und wir dürfen davon ausgehen, dass auf jedem Event unterschiedliche Verzehrmöglichkeiten (z.B. Kuchen , Kaffee , etc.) aus der Tabelle Essen & Trinken angeboten werden.
Nr. | Name des Feldes | Art des Feldes |
---|---|---|
Wir öffnen den Bearbeitungsmodus in der Tabelle Rechnungen.
Wir müssen jetzt noch die Felder der Untertabelle einrichten. Also gleich weiter!
die Verknüpfung zur Obertabelle kann nicht in der Formular-Ansicht der Untertabelle gelöst werden (das Symbol fehlt beim Verknüpfungs-Feld).
Öffnen Sie das Untermenü von Essen & Trinken, indem Sie auf den Pfeil klicken und wählen Sie Einzelpreis aus.
Wählen Sie links Anzahl aus, fügen Sie ein Sternchen * für die Multiplikation ein, gefolgt von Einzelpreis.
Mehr zu finden Sie unter Einführung in Ninox-Skript hier in unserer Dokumentation.
Öffnen Sie das Untermenü von Rechnungen, indem Sie auf den Pfeil klicken und wählen Sie Rechnungsnummer aus.
Und jetzt oben rechts alle Änderungen speichern!
1
Essen & Trinken
2
Bezeichnung
3
Anzahl
4
Einzelpreis
5
Gesamt
6
zu RgNr (kurz für „gehört zu Rechnungsnummer“)
Bezeichnung
Einzelpreis
Rechnungsnummer
Rechnungsdatum
Veranstaltung
Rechnungsempfänger
Essen & Trinken
Bezeichnung
Anzahl
Einzelpreis
Gesamt
zu RgNr (kurz für „gehört zu Rechnungsnummer“)
... und plötzlich ist alles ganz einfach!
Alle Einrichtungen, Formatierungen, Zuweisungen etc. sind abgeschlossen. Erstellen wir unsere erste Rechnung!
Falls bereits (leere) Datensätze erstellt wurden (kann durch Zwischenspeicherungen passiert sein), Sie aber mit einer leeren Tabelle starten möchten, löschen Sie die Datensätze einfach über die kleine Mülltonne in der Formular-Ansicht oben rechts .
Wir sind wieder in unserem Beispiel: Der 80. Geburtstag der Senior-Chefin war erfolgreich. Jetzt muss die Rechnung gestellt werden.
Verzehrt wurden:
47 Gläser Champagner
30 Mineralwasser
22 Bier
53 Minibrötchen
17 Brezeln
Öffnen Sie die Tabelle Rechnungen.
Fügen Sie einen neuen Datensatz hinzu. Sie sehen, dass automatisch eine Rechnungsnummer vergeben und das heutige Datum eingetragen wurde.
Klicken Sie in das Feld Events und wählen Sie in der Tabelle die Veranstaltung 80. Geburtstag aus. Der entsprechende Ansprechpartner wird gleich mit angezeigt.
Fügen Sie die erste Rechnungsposition hinzu, indem Sie auf +Datensatz erstellen klicken.
Im sich öffnenden Formular Rechnungspositionen wählen Sie durch einen Klick in das Feld Essen & Trinken die erste Position (hier: Champagner) aus der eingeblendeten Tabelle aus. Geben Sie die Anzahl (47) ein.
Fügen Sie über das Plus-Symbol oben rechts alle anderen Positionen ein.
Verknüpfung zu Essen & Trinken
Formel
Zahl
Formel*
Formel
Formel
Text
Zahl
Zahl
Datum
Verknüpfung zu Events
Formel
Verknüpfung zu Essen & Trinken
Formel
Zahl
Formel
Formel
Formel
Hat alles geklappt? Dann sollten Sie auf einen Rechnungsbetrag von 665,70 € kommen!
Das war eine Menge Stoff! Aber Sie haben dabei ganz viel darüber erfahen, wie Ninox funktioniert. Wenden Sie dieses Wissen am besten gleich für Ihre eigene Anwendung an. Halt! Erst wird das Tutorial fertig gemacht.