Tabellen erstellen und ändern

Um Tabellen anzulegen oder zu erweitern, muss der Administrationsmodus aktiv sein (Schraubenschlüsselsymbol rechts oben).

Eine neue Tabelle können Sie auf der Startseite einer Datenbank oder auch im Datenmodell erstellen. Um bestehende Tabellen zu verändern, tippen Sie im Datenmodell auf den Tabellennamen. Beides führt Sie in den Dialog zum Bearbeiten von Tabellen:

table_editor

a) Den Tabellennamen können Sie weitgehend frei wählen und auch jederzeit ändern. Zu beachten ist nur, dass Sie keine zwei gleichnamigen Tabellen anlegen können.

b) Das Beschreibungsfeld wird ausschließlich an dieser Stelle angezeigt. Es kann Ihnen helfen, bei komplexeren Datenmodellen den Überblick zu behalten.

c) Die global eindeutige ID wird von Ninox automatisch vergeben und dient der internen Verwaltung. Zwar können Sie diese verändern, das ist aber nur in Ausnahmefällen sinnvoll.

d) Zeigt eine Liste der in dieser Tabelle definierten Datenfelder (sprich: Tabellenspalten). Die Reihenfolge der Felder können Sie per Drag & Drop verändern. Sie wirkt sich zweierlei aus:

  • Die Feldreihenfolge bestimmt die standardmäßige Reihenfolge der Spalten. Die Spaltenreihenfolge lässt sich aber auch unabhängig konfigurieren, lesen Sie dazu das Kapitel Ansichten.
  • Außerdem legt die Feldreihenfolge fest, wie Eingabeformulare dargestellt werden.

e) Bietet Ihnen die Möglichkeit, neue Felder anzulegen. Ziehen Sie einfach ein Feld aus der rechten Liste in die linke Liste – siehe Pfeil (h). Sobald Sie ein Feld anlegen, öffnen sich die Detaileigenschaften des Feldes, siehe unten.

Eine Übersicht über die verfügbaren Felder gibt das Kapitel Datenfeldtypen.

f) Gestaltungselemente sind keine Felder oder Tabellenspalten im eigentlichen Sinn. Sie dienen vor allem der Strukturierung von Eingabeformularen.

g) Mit Tabellenverknüpfungen setzen Sie Ihre Tabellen in Beziehung zueinander. Zum Beispiel kann eine Tabelle “Rechnung” auf eine andere Tabelle “Kunde” verweisen.

Feldeigenschaften

Beim Anlegen eines neuen Feldes oder durch Tippen auf ein bestehendes Feld öffnet sich der Dialog zum Bearbeiten der Feldeigenschaften. Je nachdem, um welchen Datentyp es sich handelt, sind unterschiedliche Detaileinstellungen möglich, hier am Beispiel von Textfeldern verdeutlicht:

field_editor

a) Der Feldname ist weitgehend frei wählbar, darf aber nicht leer bleiben und nicht zweimal in der selben Tabelle vorkommen. Sie können ihn jederzeit ändern.

b) Wenn Sie festlegen, dass die Eingabe erforderlich ist, muss in jedem Datensatz dieser Tabelle das entsprechende Feld ausgefüllt werden. Allerdings ist Ninox nicht sehr restriktiv: Wenn Sie es leer lassen, wird lediglich eine Warnung angezeigt.

c) Standardwerte helfen, die Dateneingabe zu beschleunigen. Legen Sie hier einen Wert fest, der von Ninox beim Erzeugen neuer Datensätze automatisch eingesetzt werden soll. Einige Datentypen unterstützen auch spezielle Standardwerte, z. B. “Heute” bei Datumsfeldern, um das aktuelle Datum einzutragen.

d) Textfelder bieten die Möglichkeit eine minimale und maximale Länge (Anzahl an Zeichen) einzustellen, wird diese unter- bzw. überschritten, so gibt Ninox eine Warnung aus.

e) Vgl. minimale Länge.

f) Stellt die Breite des Feldes in Eingabeformularen ein. Eingabeformulare sind in vier Spalten organisiert, ein Feld ist also wenigstens eine Spalte und höchstens vier Spalten breit. Wenn Sie die Breite nicht festlegen, bestimmt Ninox diese automatisch.

g) Unter den erweiterten Optionen verbergen sich zusätzliche Einstellungen für erfahrene Benutzer.

h) “Nach Änderungen folgendes Skript ausführen” bezeichnet einen sog. Trigger.

i) “Feld nur anzeigen, wenn” bietet die Möglichkeit, ein Feld im Eingabeformular unter bestimmten Bedingungen auszublenden. Diese Bedingung wird als Formel definiert. Setzen Sie die Formel auf “Nein”, um das Feld dauerhaft auszublenden.

j) Die global eindeutige ID wird von Ninox automatisch vergeben und dient der internen Verwaltung. Zwar können Sie diese verändern, das ist aber nur in Ausnahmefällen sinnvoll.

k) Löscht das Feld nach Rückfrage unwiderruflich. Damit gehen auch alle Daten aus der entsprechenden Tabellenspalte verloren.

l) Schließt den Dialog.

 

49 Gedanken zu „Tabellen erstellen und ändern

  1. Hallo, ich habe eine Frage zu Datensätzen bzw., ob man diese “schützen” kann. Denn wenn man eine fortlaufende Rechnungsnummer hat, die sich auf das aktuelle Jahr/Monat bezieht und auf eine frühere Bestellung klickt, dann wird die alte Rechnungsnummer automatisch überschrieben mit der aktuelleren Rechnungsnummer. Kann ich das irgendwie verhindern? Und diese Felder schützen?
    Danke und viele Grüße
    Monika

    1. Gehen Sie so vor:
      - in den Tabelleneigenschaften erstellen Sie einen Trigger “onCreate”. Hier wird die Rechnungsnummer erzeugt und in ein Textfeld geschrieben.
      - Erstellen Sie ein Formelfeld “Automatische Rechnungsnummer” und geben Sie als Inhalt das Textfeld an. Der Inhalt eines Formelfelds ist nicht editierbar.
      - Ändern Sie die Sichbarkeits-Einstellungen des Text-Felds.
      Hier ein Beispiel:

      Birger – Ninox Support

        1. Ändern Sie die Formel (s.o.) von
          –––
          let myYear := year(today());
          Text := "R" + myYear + "-" + format(cnt((select Table1)[(Text > "R" + myYear and Text < "R" + (myYear + 1))]) + 1, "0000")
          –––

          zu
          –––
          let myYear := year(today());
          Text := "R" + myYear + "-" + format(149 + cnt((select Table1)[(Text > "R" + myYear and Text < "R" + (myYear + 1))]) + 1, "0000")
          –––

          Birger – Ninox Support

  2. Schönen guten Morgen!
    Ich habe ein Frage zu der Sortierreihenfolge in Tabellen. Ich habe Spalte 1 absteigend sortiert und möchte dass bei gleichen Werten in Spalte 1, die Spalte 2 absteigende Werte anzeigt, danach Spalte 3 usw.
    Wenn ich die Spalten ‘von hinten nach vorne’ mit dem Parameter ‘absteigend’ versehe, komme ich zu dieser Ansicht. Allerdings wird sie nicht dauerhaft gespeichert. Beim nächsten Start der Datenbank ist nur Spalte 1 sortiert – die weiteren Spalten sind wieder durcheinander.
    Mit freundlichen Grüßen Hermann

    1. Hallo,
      in der Tabellenansicht lässt sich nur nach einer Spalte sortieren. Sortierungen über mehrere Spalten lassen sich – wie beschrieben – nur innerhalb der Session realisieren.
      Wenn Sie nach mehreren Spalten sortieren wollen, legen Sie sich eine weitere “Sortierspalte” an. Diese kann z.B. so erstellt werden:
      –––
      'Feld 1' + " " + 'Feld 2'
      –––

      Wenn Sie nach dieser Spalte sortieren, wird also nach dem Inhalt von “Feld 1″ und anschließend nach dem Inhalt von “Feld 2″ sortiert.
      Gruß
      Birger – Ninox Support

  3. Hello Ninox, ich habe mich ein wenig eingearbeitet und hätte betreffend Tabelle folgende Frage:
    ich habe mir einen eigenen Template an Datenfeldern zusammengebastelt, der meinen Bedürfnissen entspricht. Jetzt möchte ich dieses Tabellenmodell für eine andere Datenbank verwenden. Die Funktion “Duplizieren” funktioniert bislang nur innerhalb einer Datenbank. Wie aber kann ich eine selbst gemachte Tabellenstruktur in eine andere Arbeitsgruppe importieren? Danke im voraus!

    1. Hallo Georges,
      versuchen Sie folgendes. – (Diese Lösung funktioniert nur in der App, nicht in der Web-Version.)
      - Öffnen Sie die Datenbank in die Sie importieren wollen. Wechseln Sie in den Admin Modus (Schraubenschlüssel rechts ist rot).
      - Wählen Sie “Daten importieren” auf der Startseite dieser Datenbank.
      - Wählen Sie “Ninox” als Importformat.
      - Wählen Sie die Datenbank, in der sich die Vorlage-Tabelle befindet.
      - Wählen Sie nur diese Tabelle und als Zielort “Neue Tabelle”.

      Gruß
      Birger – Ninox Support

    1. Hallo Leo,
      da hast du Recht. Die “Pflichtfeld”-Einstellung ist im Moment nicht viel mehr als eine freundliche Bitte…

      Wir prüfen, ob wir dies ändern sollten

      Gruß
      Birger Ninox Support

  4. Hallo zusammen, ich habe bislang Bento benutzt und mir jetzt eine neue Datenbank-Software gesucht. Ich bin daher absoluter Ninox-Anfänger und habe eine Frage. Den Datenbestand für meine Arztrechnungen habe ich aus Bento übertragen – so weit, so gut. Ich möchte nun Folgendes erreichen: Wenn eine Rechnung noch nicht bezahlt wurde (das entsprechende Feld dieser Spalte ist leer), wird dieser Datensatz in eine (Unter-)Tabelle “noch nicht bezahlte Rechnungen” übertragen. Die noch nicht zur Erstattung eingereichten Rechnungen sollen in der (Unter-)Tabelle “noch nicht eingereicht” gelistet werden. Ich denke, dass ich das Rad für diese Problematik nicht neu erfinden muss und für die Profis dies ein “Törtchen” darstellt. Kann mir jemand Hilfestellung leisten? Vielen Dank im Voraus. Klaus

    1. Hallo Klaus,
      Ich würde in diesem Fall gar keine Untertabellen einbauen. Die Rechnungen liegen schon in der Tabelle. Die Datensätze zwischen mehreren Tabellen hin und her zu schieben ist zwar möglich, macht aber in meinen Augen keinen Sinn.
      Bei Ninox gibt es die Möglichkeit unterschiedliche Ansichten einer Tabelle darzustellen. http://manual.ninoxdb.de/de/ansichten/
      In der Ansichten kann man die Spalten auf leere filtern (z.B. !=null oder =null)
      Hier habe ich eine kleine Datenbank mit Ansichten:

      https://www.dropbox.com/s/b5248g0dq1e76he/Arztrechnungen.ninox?dl=0

      Grüße
      Leo

      1. Hallo Leo,
        herzlichen Dank, genau so wollte ich das haben. Wahrscheinlich habe ich mir – vor meinem Bento-Hintergrund – zu viele Gedanken gemacht.
        Ninox bietet schon tolle Möglichkeiten und eine super-tolle Unterstützung. Vielen lieben Dank.
        Klaus

  5. Hallo Ninox Team,
    gibt es eine Möglichkeit einen Scrollbalken einzublenden mit dem ich schnell z. B. von Zeile / Datensatz 2 zu Zeile / Datensatz 185 wechseln kann?
    VG Horst Wellmsnn

    1. Hallo Horst,
      Scrollbalken kommen bald mit dem nächsten Release. Ansonsten kann man mit den Pfeilen unten rechts im Formular ans Ende oder den Anfang der Tabelle springen.
      Vg, Alex

    1. Hallo, theoretisch kommt die Grenze erst sehr spät. Grundsätzlich empfehlen wir soviele wie nötig, so wenig wie möglich und das Datenmodell nicht zu überladen. Nach dem KISS Prinzip. VG, Alex

  6. Sehr geehrtes Ninox Team,

    ich habe ein Problem bei der Textfeld Formatierung. In den Feldeigenschaften von “Text” kann ich das Einstellungsfeld “Breite” nicht sehen. Woran mag das liegen? Es handelt sich bei mir um die Felder “Text”, welche den Vor-/Nachnamen des Kunden tragen sollen. Leider kann ich diese Felder in ihrer Länge nicht begrenzen, so stehen sie untereinander statt nebeneinander. Für eine zügige Hilfe wäre ich sehr dankbar.

    1. Hallo,
      Wenn du in dem Formularansicht bist, klicke zuerst auf Schraubenschlüssel oben rechts. Dann auf Feldname. Jetzt ist dein Feld mit rotem Rahmen umrahmt. Du kannst jetzt die Größe rechts und unten variieren.
      Gruß
      Leo

  7. Hallo zusammen, zuerst einmal möchte ich ein ganz großes Lob los werden. Diese App ist wirklich fantastisch und leicht verständlich. Nun zu meiner Frage. Ich habe die App für meinen iMac käuflich erworben. Nachdem ich dort einiges getestet habe, habe ich mir die App auch auf mein iPad geladen und direkt ein Upgrade auf die Premium Version gemacht um iCloud nutzen zu können. Ich muss nun aber feststellen das auf meinem iPad dieser werkzeugschlüssel um den adminbereich zu öffnen um eine neue Tabelle anzulegen nicht zu finden ist. Funktioniert das anders als am pc?

    1. Hallo,
      Danke für das freundliche Feedback zur Ninox App. iCloud Datenbanken können immer auf dem Gerät auf dem Sie erstellt wurden bearbeitet werden. Ninox hat diese Einstellung um Konflikte zu vermeiden.
      Die Admin Rechte können auf das andere Gerät übertragen werden.
      Öffnen Sie hierzu das Kontextmenu der Datenbank auf der Startseite und wählen “Reorganisieren”. Alternativ auch über den Datenbank Homescreen, hier oben links auf den Menu Button klicken.
      VG, Alex

Hinterlasse eine Antwort