0

Nur eine Spalte aus einer Tabelle verknüpfen

Guten Tag, ich bin gerade erst angefangen mit Ninox, aber direkt zu Beginn auf ein Problem gestoßen, welches ich im Forum noch nicht gefunden habe, wahrscheinlich habe ich schlecht gesucht??

 

Ich habe Tabelle 1 „Kunde“ mit 3 Spalten

Name, Ort und PLZ

 

Ich habe Tabelle 2 „Anfragen“ mit 3 Spalten

Datum, Anfragetext und Kunde

 

Bei Eingabe in Tabelle 2 „Anfragen“ habe ich die Tabelle „Kunde“ verknüpft, so dass ich bei Eingabe die Tabelle „Kunde“ angezeigt bekomme und auch aus Ihr auswählen kann.

 

Nach Auswahl steht dann im Eingabefeld allerdings der ganze Datensatz von Tabelle „Kunde“. Also „Name Ort PLZ“

 

Ich möchte aber nur die Spalte „Name“ verknüpfen.

 

Wie geht das? Ich hoffe es war verständlich.

 

Vielen Dank

20 Antworten

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

    Hallo Lutz, in den erweiterten Optionen des Verknüpfungsfeldes gibt es einen Punkt namens "Anzeigen als". Dort kann man angeben, welche Daten des verknüpften Datensatzes angezeigt werden sollen, also bspw. auch nur das Feld "Name".

    • lutzrichter84
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter, danke für deine Antwort.

    Ja, das habe ich auch gesehen und genutzt.

    Das Problem ist nur folgendes:

    Ich möchte meine Tabelle "Kunde" noch erweitern, sagen wir auf 20 Spalten.

    und dann sieht es einfach komisch im Eingabefeld aus, wenn die Infos von allen 20 Spalten hintereinander dort eingefügt werden.

     

    Die Frage ist viel mehr ist das so gewollt, oder muss ich einen anderen Weg gehen.

     

    z.B. eine Tabelle wo nur die Namen der Kunden aufgeführt werden, eine Tabelle für die Adressdaten und so weiter?

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Lutz,

     

    das ist durchaus so gewollt, Ninox kann ja nicht wissen, was für DICH im Einzelfall das relevante Feld des verknüpften Datensatzes ist. Du wirst also immer über die Option "Anzeigen als" an Deine Anforderug anpassen müssen.

     

    lg, Torsten

    • lutzrichter84
    • vor 3 Jahren
    • Gemeldet - anzeigen

    ok super, dann habe ich das verstanden. Danke für deine Antwort.

     

    Das heisst, die Daten, die viel weiterverknüpfen möchte, sollten idelaer Weise in kleinen Tabellen stehen.

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

    Es spielt keine Rolle, wie groß die Tabelle ist. Die Verknüpfung bezieht sich immer auf den ganzen Datensatz (bzw. dessen ID), egal, ob er nun drei, dreißig oder dreihundert Felder hat. Als Nutzer möchte man im Formular aber natürlich erkennen, welcher Datensatz verknüpft ist, deshalb werden im Verknüpfungsfeld ausgewählte Datenfelder angezeigt. Wenn man bei "Anzeigen als" keine eigene Vorgabe macht, nimmt Ninox halt die ersten drei Textfelder.

    • lutzrichter84
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Genau, aber im Eingabefeld setzt den gesamten Datensatz rein

    später in der Tabelle zeigt er nur das an was ich einstelle

    richtig?

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

    Was ist jetzt mit "Eingabefeld" gemeint? Das Verknüpfungsfeld im Formular, über das man die Verknüpfung herstellt? Hm ...

     

    Verknüpft wird wie gesagt immer(!) der Datensatz an sich, keine einzelnen Felder daraus. Nur die Darstellung ist in Formular und Tabelle unterschiedlich. In der Tabelle kann man pro Spalte jeweils nur ein Datenfeld des verknüpften Datensatzes anzeigen lassen, während im Formular mehrere Datenfelder nacheinander angezeigt werden können. Wobei man über Funktionsfelder sowohl in der Tabelle als auch im Formular auf jedes beliebige Feld des verknüpften Datensatzes zugreifen kann.

     

    Man könnte also bspw. im Formular der Tabelle "Anfragen" ein Funktionsfeld erstellen und dort "Kunde.PLZ" reinschreiben. Dann würde als Ergebnis halt die PLZ des Kunden angezeigt.

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich glaube, dadurch das ich ja gerade erst angefangen habe mich damit zu befassen nutze ich zz fast ausschließlich den Admin Zugang und Daten die ich testweise einspiele trage ich direkt über die Tabelle ein. Wenn ich jetzt Formulare für den Nutze erstelle, löst sich das Problem wahrscheinlich in Luft auf.

     

    Ich wollte nur sichergehen, dass ich die Daten, die ich bereits in Excel habe, so einpflege, dass ich sie in der Datenbanbk auch wieder auseinander pflücken kann.

     

    Aber nochmal danke für eure Antworten!!!

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

    Okay. Noch ein Tipp: Wenn man Daten aus Excel in zwei verschiedene Tabellen importiert, sollte man sicherstellen, dass es ein gemeinsames Datenfeld gibt, das in beiden Tabellen denselben Inhalt hat. Auf das Beispiel oben mit Kunden und Anfragen bezogen könnte dieses gemeinsame Kriterium z. B. die eindeutige Kundennummer sein:

     

    Felder der Tabelle Kunden: KUNDENNR, Name, Ort, PLZ (u. a.)
    Felder der Tabelle Anfragen: Datum, Anfragetext, KUNDENNR (u. a.)

     

    Wenn die Daten dann so importiert würden, könnte man die entsprechenden Verknüpfungen anhand des Feldes KUNDENNR von Ninox automatisch erstellen lassen. Wobei die Felder auch unterschiedlich benannt sein können. Wichtig ist, dass der Inhalt übereinstimmt.

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ja genau das will ich tun. Nur wie?

    Erstelle ich erst die leeren Tabellen und verknüpfe die Spalten KUNDENNR

    und importiere dann jeweils die CSV in die Tabellen?

     

    Wenn ich dann eine KUNDENNR in Tabelle 1 neu anlege, erscheint diese dann in Tabelle 2?

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Ich bin so nah dran 😉

     

    Datenbasis Excel Tabelle: Folgende Spalten mit x Zeilen

    Kunde, PLZ, Ort, Auftrag, Provision

     

    Soll in Ninox rein importiert werden

     

    Ergebnis soll sein:

    Tabelle 1

    Kunde, PLZ, Ort

    Tabelle 2

    Kunde, Auftrag, Provision

     

    Wenn ich dann manuell einen Datensatz bei Tabelle 1 hinzufüge, wie z.B.

    Kunde99, 53965, 3%

     

    Dann soll ich Tabelle 2 stehen

    Kunde99, leer, leer

     

    Richtig??

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

    Das mit "Kunde99, 53965, 3%" bei Tabelle1 verstehe ich nicht. Aber ich lasse den letzten Teil mal weg, und nehme einfach mal an, dass du aus einer Excel-Tabelle zwei Ninox-Tabellen machen und diese dann miteinander verknüpfen willst. Dazu könnte man wie folgt vorgehen:

     

    1. Excel-Tabelle mit allen benötigten Feldern als CSV-Datei exportieren.
    2. In Ninox Tabelle1 mit den Feldern Kunde, PLZ und Ort erstellen.
    3. In Tabelle1 aus der CSV-Datei die Felder Kunde, PLZ und Ort importieren.
    4. In Ninox Tabelle2 mit den Feldern Kunde, Auftrag und Provision erstellen.
    5. In Tabelle2 aus der CSV-Datei die Felder Kunde, Auftrag und Provision importieren.
    6. In Tabelle1 eine 1:N-Verknüpfung ("Rückverknüpfung") zu Tabelle2 erstellen.
    7. In der Ninox-Console folgendes Script ausführen:

     

    for i in select Tabelle2 do
       let meK := i.Kunde;
       let myK := first(select Tabelle1 where Kunde = meK);
       i.Tabelle1 := myK
    end

     

    Bei alldem sollte darauf geachtet werden, dass die Feldtypen übereinstimmen. Also, wenn das Feld "Kunde" in Excel ein String ist, dann sollte es auch in Ninox ein Textfeld sein, wenn Provision ein numerisches Feld ist, sollte es in Ninox ein Zahlenfeld sein usw.

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Vielen Dank Copytexter für deine ausführliche Antwort und deine Geduld ;)

    Hat leider nicht geklappt, aber mir weitere Erkenntnis gebracht:

    Wie lerne ich diese Scriptbefehle oder woher bekomme ich Sie? Ich überlege gerade, ob ich als Laie vllt die Finger von Ninox lassen sollte. Die Bedienung gefällt mir sehr gut und ich bin auch immer noch sicher, dass ich fast alle meine Ansprüche mit diesem System abdecken kann. Aber halt nur fast. Ich finde einfach ein paar grundlegenden Funktionen nicht bzw. scheinen die sich nur über Skript einbauen zu lassen. Oder mein Verständnis zu Datenbanken ist einfach falsch.

    Kann ich hier im Forum einfach immer weiter fragen oder kommt dann irgendwann die Antwort ich solle mir ein Buch kaufen bzw. es einem Programmierer überlassen? Oder ist diese Art von Support über die Community gewollt? Ich finds gut nur kann aktuell nur nehmen und nicht geben ;)

     

    Ist mein aktuelles Problem lösbar oder ist Ninox dafür nicht sinnvoll einzusetzen?:

     

    Ich lege in Tabelle "Aufträge" einen Auftrag an und trage folgende Werte ein:

    Auftragsnummer, Enddatum Produktion, Liefertermin Kunde

     

    ist es möglich das durch das Eintragen dieser Daten automatisch in einer andern Tabelle diese Werte erscheinen, quasi eine Zellenverknüpfung von Tabelle zu Tabelle wie in Excel?

     

    In meiner Tabelle "Produktion" soll dann automatisch Auftragsnummer und Enddatum Produktion erscheinen

    In meiner Tabelle "Versand" automatisch Auftragsnummer und Liefertermin

     

    Gruß und gute Nacht ;)

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

    Hallo Lutz, zu deiner letzten Frage: Ja, Daten von einer Tabelle in eine (oder mehrere) andere zu übertragen, ist mit Ninox kein Problem. Es braucht allerdings ein auslösendes Ereignis. Also: Wann sollen die Daten übertragen werden? Ich würde dafür eine Schaltfläche oder so empfehlen (zu finden unter "Gestaltungselemente"). Nennen könnte man sie bspw. "An Produktion übergeben" o. ä., platzieren würde man sie in der Tabelle "Aufträge". Der Code für die Schaltfläche könnte bspw. so aussehen:

     

    let me := this;
    let newP := create Produktion;
    newP.(Auftragsnummer := me.Auftragsnummer);
    newP.('Enddatum Produktion' := me.'Enddatum Produktion');
    let newV := create Versand;
    newV.(Auftragsnummer := me.Auftragsnummer);
    newV.(Liefertermin := me.Liefertermin)

     

    Damit würden in den Tabellen "Produktion" und "Versand" jeweils ein Datensatz erzeugt (create) und die angegebenen Datenfelder übertragen. Nicht mehr und nicht weniger. Etwaige Verknüpfungen sind nicht berücksichtig (obgleich wohl sinnvoll).

     

    Prinzipiell ist es wichtig, sich vom Excel-Denken zu lösen. Ninox ist eine Datenbank und kann in dieser Hinsicht viel mehr als Excel, funktioniert aber eben auch etwas anders. Man muss sich wie bei jeder Software etwas einarbeiten und die grundlegenden Dinge verstehen. Es lohnt sich aber, denn mit Ninox eröffnen sich im Vergleich zu Excel ganz neue Perspektiven. Und ich kann dir versichern, dass schon unzählige Nutzer ohne jegliche Programmierkenntnisse individuelle, zum Teil sehr komplexe Lösungen mit Ninox entwickelt haben.

     

    Aber der Anfang ist halt immer am schwersten. Als Startpunkt zur Einarbeitung bietet sich die offizielle deutschsprachige Online-Doku an, innerhalb derer es auch eine Übersicht der Funktionen gibt. Letztere ist zwar englisch, aber ohnehin sehr knapp gehalten, so dass das kaum stört: https://ninox.com/de/manual/erweiterte-Berechnungen/funktions-und-sprachreferenz

     

    Des Weiteren gibt es auch noch eine umfangreichere Ninox-Referenz als Datenbank. Sie heißt "0001_Ninox-Reference" und liegt in dem für alle Nutzer offenen Team "Webinar DE 2021". Der Zugriff setzt allerdings einen Ninox-Cloud-Account voraus. Wenn du einen solchen hast, kannst du dich mit der Mail-Adresse deines Ninox-Accounts in dieses Team einladen lassen. Entweder postest du die Adresse hier oder du schreibst eine kurze Mail an support@ninox.com mit Bitte um Aufnahme in o. g. Team.

     

    Davon abgesehen ist die Anzahl der Fragen, die man hier im Forum stellen darf, nicht limitiert. Und je konkreter sie formuliert sind, desto größer die Wahrscheinlichkeit, dass sie auch beantwortet werden. ;)

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter, nochmal vielen Dank für deine ausführliche Antwort. Bislang habe ich nur einen Probeaccount, daher noch keinen Zugang zu der Referenz Datenbank. Das werde ich aber schnell ändern, um weiter voranzukommen. Ich konnte zwar noch nicht ausprobieren, ob Ninox das kann was ich brauche, aber die schnellen und netten Antworten aus dem Forum haben mich überzeugt, hier weiterzu machen.

    Ich denke, wenn ich mich mal einen Tag nur damit befasst habe, kann ich hier auch konkreter fragen ;)

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Könnte mich bitte jemand in das offene Team Webinar DE 2021 einladen. Danke ;)

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

    Hab's gerade versucht mit "Der Lutz aussem Forum". Aber diese blöde Software beharrt auf einer E-Mail-Adresse.

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    kann ich dir eine Nachrict schreiben?

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

    Ich soll meine E-Mail-Adresse hier posten, damit du deine nicht posten musst? ;)

     

    Na gut. Meine E-Mail-Adresse findest du auf der Website https://copytexter.com

    • Verschleisstechnik Kinast GmbH
    • green_scarf
    • vor 3 Jahren
    • Gemeldet - anzeigen

    nee dachte es gibt PM und ich bin zu blöd das zu finden ;)

    danke

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 20Antworten
  • 1866Ansichten