0

Kann ich Daten mit einander verknüpfen?

Hallo zusammen bin ein Frischling bei Datenbanken. Folgende Frage: Wenn ich eine Datenbank anlege mit Name, Adresse, PLZ, Ort etc. um eine Kontaktdatenbak zu haben. Kann ich aus dieser Datenbank dann z.B. nur den Namen und das Geburtsdatum für eine neue übernhemen in der ich dann wiederum neue Felder brauche. In dieser neuen Datenbank brauche ich z.B. x für 2021,2022,2023, ....; y für 2021,2022, 2023,... usw. geht das? Wenn ich dies alles in die erste Datenbak packe wird es bei den Kontakten unübersichtlich. Habe ich mich einigermaßen verständlich ausgedrückt? Vielen dank an euch.

15 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo, zumindest ich habe nicht genau verstanden, um was es geht. Es gibt eine Datenbank bzw. Tabelle mit Kontaktdaten zu Personen. Davon soll aber nur ein Teil angezeigt werden, der einem bestimmten Jahr entspricht? Worauf bezieht sich dieses Jahr? Auf das Geburtsdatum wohl nicht, da die Beispieldaten "2021, 2022, 2023, ..." ja in der Zukunft liegen.

     

    Davon abgesehen braucht man für solche Filter aber keine neue Tabelle oder gar Datenbank. Das lässt sich sehr komfortable in einer Tabelle abbilden. Zum Beispiel über Filter oder Gruppierungen in der Tabellenansicht. Das funktioniert auch mit zigtausend Datensätzen ganz hervorragend.

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ich möchte eine Datenbank mit Kontakten anlegen: Also Name; Vorname, Geb-Datum, Straße, PLZ usw.

    Eine andere Datenbank sollte von der o.g. Datenbank nur den Namen, Vorname und Geb.-Datum übernehmen. Geht das? Zusätlich sollten in diese Datenbank noch weiter Felder angelegt werden. In diese Felder sollen pro Jahr (also 2021, 2022, 2023, ...) gewisse Daten eingegeben werden. 

    So besser ?

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hm, nicht wirklich, sorry. Aber was den Austausch von Daten von einer Ninox-Datenbank(!) mit einer anderen betrifft: Das geht nur per API. Vielleicht meinst du aber gar nicht Datenbanken, sondern verschiedene Tabellen innerhalb einer Datenbank? Daten von einer Tabelle in eine andere zu übernehmen, ginge natürlich. Sowohl dynamisch als auch statisch. Und die zweite Tabelle dürfte neben den gemeinsamen auch weitere Datenfelder oder Untertabellen beinhalten.

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ja sorry ich denke ich meine eine tabelle. und wiestelle ich das an? ich lehge also die eine tabelle an (Name:Kontakte;  mit den Feldern Name, usw.)

    Lege eine zweite leere Tabelle an (Name: Test). Jetzt soll in der Tabelle "Test" die Namen, Vornamen und das Geb.-Datum dort erscheinen und auch alle weiteren die ich in der Tabelle "Kontakte" erfasse.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ok, du willst also alle Kontakte doppelt vorhalten und jeweils um unterschiedliche Daten ergänzen? Ich verstehe zwar immer noch nicht, wozu das gut sein soll, aber - bitte sehr. Man könnte die beiden Tabellen miteinander verknüpfen und in der zweiten Tabelle ("Test") auf die Daten der ersten Bezug nehmen.

     

    Dazu in den Optionen der Tabelle "Kontakte" einen Trigger "Bei neuem Datensatz folgendes Skript ausführen" mit folgendem Code anlegen:

     

    let me := this;
    let newT := create Test;
    newT.(Kontakte := me)

     

    Dann kann man in der Tabelle "Test" beim Verknüpfungsfeld zu "Kontakte" in den Optionen unter "Anzeigen als" die Felder angeben, die man sehen will, bspw.

     

    Vorname + " " + Name + ", " + Geburtsdatum

     

    Oder man erstellt Funktionsfelder und lässt die verknüpften Daten darin anzeigen, zum Beispiel

     

    Kontakte.Name

     

    oder

     

    Kontakte.Geburtsdatum

     

    Bei vielen Datensätzen kann die Variante mit den Funktionsfeldern allerdings zu Performance-Problemen führen. Eine dritte Möglichkeit wäre, die Daten aus "Kontakte jeweils fest in entsprechende Datenfelder der Tabelle "Test" zu übernehmen, dazu müsste man aber für jedes zu übernehmende Feld einen Trigger nach Änderung einrichten, der die Daten überträgt.

     

    Ich würde aber doch noch mal überlegen, ob es nicht vielleicht sinnvoller wäre, die Daten alle in einer Tabelle zu halten. Über Gestaltungselemente wie Karteireiter hat man ja verschiedene Möglichkeiten, die Informationen zu strukturieren und optisch zu gliedern.

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ok ich habe nur die Sorge das alles zu unübersichtlich wird.

     

    Felder: Anrede, Vorname, Name, Spitzname; Geburtstag, Klasse, Funktion, Festnetz, Mobil, E-Mail, Straße, PLZ, Ort, Test1 (mit 2021, 2022,2023,...), Test2 (mit 2021, 2022, 2023,...), Test 4 .....usw. Vieleicht so bi zu 6 - 7 Test und Jahrgänge. 

     

    Wie gesagt nur Sorge wegen der Überscihtlichkeit!

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Also, wenn es keine wichtigen technischen Gründe für die Trennung der Daten gibt, dann kann ich nur dringend empfehlen, auf den zusätzlichen Aufwand zu verzichten und alle zusammengehörigen Daten in einer Tabelle zu halten. Der Aufwand ist geringer, die Performance ist besser und dank vielfältiger Gestaltungsmittel ist auch die Darstellung übersichtlicher. Ich selbst habe Tabellen mit über 60 Datenfeldern, bei manchen Nutzern geht es auch schon mal in den dreistelligen Bereich. In der Regel schön übersichtlich verteilt auf mehrere Karteireiter.

     

    In deinem Fall könnte es sich z.B. anbieten, diese Test-Daten in einem eigenen Karteireiter darzustellen. Wobei es sinnvoll sein könnte, sie in Untertabellen zu speichern. Ich kann dir hier keine genaue Anleitung geben, das ist doch immer sehr individuell, aber befasse dich mal mit Tabellenansichten und den Gestaltungselementen bei Formularen. Ein guter Einstiegspunkt kann die Online-Doku sein, die zwar nicht mehr ganz aktuell ist, bei den Grundlagen aber dennoch sehr hilfreich:

     

    https://ninox.com/de/manual/datenbanken-erstellen/ansichten

    https://ninox.com/de/manual/datenbanken-erstellen/eingabeformulare

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ok verstanden. aber wie stelle ich das an wenn ich die kontakt daten mit den dazugehörigen feldern fertig habe. Wie komme ich jetzt mit dem karteireiter dazu die Testdaten einzugeben bzw. erstmal anzulegen?

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Du kannst vorhandene Datenfelder auch im Nachhinein in andere Karteireiter verschieben. Entweder per Drag and Drop (Feld anfassen und mit der Maus auf den Reiter ziehen) oder durch Ändern der Reihenfolge unter "Felder bearbeiten". Dort sind auch Gestaltungselemente wie Karteireiter gelistet. Die Reihenfolge der Elemente in der Liste bestimmt die Anordnung auf dem Formular. Auch hier kann jedes Element - ebenfalls per Drag and Drop - nach oben oder unten verschoben werden. Alle Felder, die sich unterhalb eines Karteireiters befinden, werden diesem zugeordnet.

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo nur nochmal zum Verständnis nicht das ich es doch falsch verstanden habe. Wenn ich mich einlogge kommt ein Kästchen das ist meine Datenbank (oder ist es keine ?) mit dem Namen Kontakte.

    Wenn ich dieses Kästchen anklicke stehen links in der Spalte zwei Tabellen (oder sind das keine Tabellen?) mit den Namen Kontakte 1 und Kontakte 2. Und in dem großen Feld sind zwei Kästchen mit eben den selben Namen Kontakte 1 und kontakte 2. Soweit  ist doch alles richtig oder ?

    Kontakte 1 können wir außer Acht lassen da ist alles o wie ich es wollte die hat mit einander nichts zu tun.

    Es geht dann wenn vorher alles richtig war um die Kontakte 2.

     

    Dort habe ich jetzt über Felder bearbeiten angelegt: ein Auswahlfeld für Anrede, ein Datumfeld für Geb-Datum und sonst nur Textfelder und diese umbenannt in Name, Vorname etc.

    und diese über den Trichter in sichtbare Felder rübergezigen. Soweit alles richtig?

     

    So und jetzt sollen die anderen Komponenten dazu:Test1 (mit 2021, 2022,2023,...), Test2 (mit 2021, 2022, 2023,...), Test 4 .....usw.

    Wie muss ich das jetzt machen ?

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich habe dir eine Nachricht geschrieben.

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ok ich hoffe/denke ich habe es gefunden.  Ich habe oben eine neue Tabelle erstellt und da dann die Felder ausgeblendet die ich nicht brauche, d.h. ich habe nur jetzt Anrede, Name, Vorname und Geburtsdatum da stehen. war das soweit richtig ?

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    wie kann man hier einen beitrag bearbeiten? Wollte noch ergänzen oben stehen dann zwei namen einmal Kontakte (mit allen feldern wie vorher) und dann die Tabelle Test nur mit den Feldern wie eben beschrieben.

    • diamond_clock
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ok kann mir noch jemand weiterhlfen? ich glaube ich mache einen neuen Thread auf, da es sich ein wenig geändert hat. oder ? 

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja, ist wohl besser, wenn du dein Problem noch mal genauer beschreibst.