0

Verknüpfte Tabellen

Hallo,

wie muss ich denn bei der N:M Beziehung in dem Beispiel die Tabelle Mitarbeiter mit Datenfeldern bestücken? Ich kann ja einem Datenfeld nicht zwei andere Tabellen zuordnen.

236 Antworten

null
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Frank,
    in den Feldeinstellungen der Verknüpfung von "Rechnung" zu "Kontakte" können Einschränkungen festgelegt werden.
    a.Firma.Id = b.Firma.Id
    Nach Auswahl der Firma können somit nur die Kontakte, die mit der selben Firma verknüpft sind ausgewählt werden.
    VG, Alex
    • Marcel_Wewer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,

    ich bin noch neu hier und hatte das Programm für ein kleines bisschen einfacher gehalten, der Beschreibung nach. Dennoch probiere ich aktuell einiges aus. Ich versuche mein Problem zu beschreiben:

    Ich habe eine Anrufmaske erstellt, um Daten von Anrufern entsprechend eintragen zu können. Demnach habe ich 2 Tabellen, einmal für den speziellen Anruf, die zweite Tabelle für die entsprechenden Anrufer hinterlegt (Karteikartenprinzip).

    Ich möchte gerne erreichen, dass - wenn mich eine bekannte Nummer anruft, die bereits in Tabelle 2 einem Kontakt zugeordnet ist - in Tabelle 1 automatisch die Felder, die mit dem Kontakt (in Tabelle 2) assoziiert sind, ausgefüllt werden, wie z.B. Name, Telefon-Nr., Adresse, etc..

    Verständlich, was ich meine?
    Aktuell habe ich es zwar geschafft, ein Feld in soweit zu verknüpfen, dass geprüft werden kann, ob die Anrufernummer schon einem Kontakt zugeordnet ist, aber falls das der Fall sein sollte, dann werden die vorhandenen Daten nur in einer Aneinanderreihung dargestellt. Wie schaffe ich es jetzt, die notwenigen Felder (Name, Adresse, etc.) nur aufgrund der eingehenden Telefonnummer auf Basis der in Tabelle 2 erfassten Kundendaten zu füllen?

    Vielen Dank für Eure Antworten!
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo,
    es gibt eine Vorlage für Meetings die für den Anwendungsfall gut geeignet ist.

    Hier gibt es eine Adressliste. Den einzelnen Kontakten können verschiedene Events, wie z.B. Anrufe zugeordnet werden.

    Am einfachsten ist es wenn man die Nummer in der Kontakte Liste einlegt. Bei einem Anruf sucht man dann den entsprechenden Kontakt raus und trägt den Anruf in der verknüpften Tabelle ein.

    Bei Fragen auch gerne direkt an support@ninoxdb.de schreiben.

    VG, Alex
    • register
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Ich habe ein Problem:
    Ich möchte gerne in Tabelle1 in einem Feld einen Eintrag aus einer anderen Tabelle auswählen und übernehmen können.
    Z.B.:
    Tabelle1 - Personen mit den Feldern Name und Lieblingsfarbe.
    Tabelle2 - Farben mit dem Feld Farbname.
    Jetzt möchte ich im Personen-Datensatz aus der Tabelle Farben einen Eintrag wählen und im Feld Lieblingsfarbe der aktuellen Person in Tabelle Personen speichern.

    Wie bekomme ich das hin?

    Vielen lieben Dank für eure Hilfe!!
    Christoph
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Christoph,
    In der Tabelle "Personen" gehst du auf "Felder bearbeiten". Dann unten rechts auf "Mit einer Tabelle verknüpfen". Dann wällst du die Tabelle "Farben" und ziehst diese nach links in den Fenster "Felder". Jetzt kannst du den Feld mit dem Pfeil umbenennen z.B. in "Lieblingsfarbe".

    Grüße
    Leo
    • utr64
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,
    ich habe eine Tabelle "Verträge" und eine Untertabelle "Beitragsänderungen" und möchte via Button "Aktualisieren" den aktuellen Beitragssatz "Beitragsänderungen"."Beitrag" (z.B. anhand eines Datums "Beitragsänderungen"."GültigAb") in die übergeordnete Tabelle in die Spalte "Beitrag" übernehmen.
    Insbesondere ist mir nicht klar wie ich in dem Skript die zu prüfenden Datensätze aus "Beitragsänderungen" auf den ausgewählten Vertrag einschränke.

    Umgekehrt ist mir nicht ganz klar, wie ich einen Trigger erzeuge, der bei einem neuen Datensatz (d.h.bei Insert) in der Tabelle Vertrag automatisch einen neuen Datensatz in der Untertabelle erzeuge.
    Danke für Hinweise hierzu.
    Gruß,
    Uwe
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Uwe,
    manuelles Aktualisieren ist für mich immer eine Gefahr. Vergisst man auf den Knopf zu klicken und schon hast du falsche Daten in der Datenbank. Ich würde folgendes vorschlagen:

    in der Tabelle Verträge änderst du den Feldname von "Beitrag" in z.B. "Anfänglicher Beitrag". Dann fügst du noch ein Berechnetes Feld f(x) und benennst den als "Aktueller Beitrag "
    Die Formel bei Funktion:

    lif cnt('Beitragsänderungen') = 0 or min('Beitragsänderungen'.'GültigAb') > today() then
    'Anfänglicher Beitrag'
    else
    max('Beitragsänderungen'[('GültigAb' <= today())].Beitrag)

    Wenn in der Untertabelle noch keine Beitragsänderungen vorgenommen worden sind oder das jüngste Änderungsdatum noch in der Zukunft liegt, nimmt die Formel den Anfangsbeitrag. Ansonsten nimmt die Formel die Aktuell gültige Änderung.

    Das Feld aktualisiert sich automatisch.

    Grüße
    Leo
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    die Formel:

    if cnt(‘Beitragsänderungen’) = 0 or min(‘Beitragsänderungen’.'GültigAb’) > today() then
    ‘Anfänglicher Beitrag’
    else
    max(‘Beitragsänderungen’[('GültigAb' <= today())].Beitrag)

    Leo
    • utr64
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,
    Vielen Dank für die Antwort! Das klappt soweit. Wenn ich analog das für ein Auswahlfeld Zahlungsmodalität mache, erhalte ich die Fehlermeldung, dass max() dieses Feld nicht unterstützt. Wird das generell nicht unterstützt, oder gibt es eine Funktion, wo ich hier das ausgewählte Element der Liste übernehmen kann.
    Gruß,
    Uwe
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Uwe,
    gut, das du fragst. Die Formel enthält einen Fehler. Die richtige Formel wäre:

    if cnt('Beitragsänderungen') = 0 or min('Beitragsänderungen'.'GültigAb') > today() then
    'Anfänglicher Beitrag'
    else
    (let DD := max('Beitragsänderungen'[('GültigAb' <= today())].'GültigAb');
    'Beitragsänderungen'[('GültigAb' = DD)].Beitrag)

    Die Anführungszeichen bitte neu eingeben, sie werden beim Kopieren falsch interpretiert.

    Die Elemente in der Liste haben eine Nr. Wenn du Zahlungsmodalität direkt ansprichst, werden die Nr angezeigt. Wenn du die Werte anzeigen möchtest solltest du text('Zahlungsmodalität') verwenden.

    Grüße
    Leo
    • konfusius
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo!
    Auf die Gefahr hin, dass ich mich blamier, weil die Lösung evt. einfach ist, schreibe ich trotzdem:
    Ich habe eine Tabelle 'Wein' u.a. mit den Feldern 'Bestand' (wie viele Flaschen) und 'Regal' ( in welchem Regal liegt er).
    In einer zweiten Tabelle möchte ich dass er mir ausrechnet in welchem Regal sich wieviele Flaschen befinden.
    Gruß Hermannn
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo, am einfachsten geht es über eine neue Ansicht.
    Versuchen Sie es so:
    - In der Tabellenübersicht klicken Sie auf den (hellblauen) Namen der Ansicht "(alle)" und erstellen Sie eine neue Ansicht. Nennen Sie diese z.B. "Regale".
    - Klicken Sie auf den Spaltenkopf "Regale" und wählen Sie "Aufsteigend" und "Gruppiert" und "Erster".
    - Klicken Sie den Spaltenkopf "Bestand" und wählen Sie "Summe"

    Ich hoffe, ich konnte helfen.
    Birger - Ninox Support
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Ninox-Team, zuerst einmal: Vielen Dank für dieses tolle Programm!
    Ich plane damit meine seither auf Excel basierende CRM-Aktionsliste zu realisieren und es schaut schon sehr gut aus! Nun würde ich gerne eine täglich aus dem ERP-System neu generierte Projektliste (Excel, bzw. csv) damit verknüpfen.
    Ziel ist es beim Gespräch mit dem Kunden seine Projekte mit aufzulisten um diese mit ihm durchzusprechen. Die Ergebnisse speichere ich voraussichtlich in einem temporären Feld zwischen um es vom Innendienst über den Besuchsbericht in das ERP übertragen zu lassen.
    Kann ich eine externe Datei (Name bleibt gleich) mit der Ninox-Tabelle verknüpfen, ohne jedesmal neu zuzuordnen, nur über den Namen und den Speicherort?
    Danke schon mal und Gruß
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Noch eine Frage: Lassen sich die Kontakte mit einer Ninox-Tabelle verknüpfen?
    Ich habe gesehen, dass Kontakte in eine Ninoxtabelle übernommen werden können, aber wie ist das mit danach neu angelegten Kontakten? Muss ich die in Ninox dann manuell eingeben oder welche Möglichkeiten gibt es hier?
    Grüße
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Sie können die Kontakte mit Hilfe des "Kontakte"-Templates importieren. Kontakte, die anschließend hinzu kommen, finden sich nicht in der Ninox Datenbank. Führen Sie den Import nochmals aus, um die Ninox Datenbank auf dem aktuellen Stand zu halten.
    Eine API, die diese Aufgaben automatisiert ist bereits in Planung und wird so bald als möglich kommen.
    Birger - Ninox Support
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Vielen Dank für Ihre schnelle Rückinfo.
    Aber entstehen bei einem erneuten Import nicht Dubletten?
    Oder verhindert das ein intelligenter Filter?
    Danke und Gruß
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Bereits vorhandene Datensätze werden nicht erneut importiert.
    Birger - Ninox Support
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Perfekt!
    Jetzt habe ich die Kontakte in der separaten Datenbank.
    Muss ich diese jetzt nochmals exportieren bzw. von der anderen Datenbank in der ich sie verknüpfen möchte importieren, damit ich ich darauf zugreifen kann?
    Bitte entschuldigen Sie, wenn ich etwas unbedarft frage - aber ich sehe großes Potenzial in dieser Anwendung und benötige noch ein bisschen Starthilfe.
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Diese Frage ist noch unbeantwortet.
    Es ging um eine externe CSV-Liste, die jeden Tag neu extern kreiert wird und die ich gerne - ähnlich den Kontakten - mit der Hauptdatei (Kunden) verknüpft haben und täglich neu einlesen möchte um neu hinzugekommene Datensätze im Zugriff zu haben. Auch dabei sollten keine Dubletten entstehen.
    Geht das? Wenn ja, wie?
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Die Import-Funktion hat entsprechende Optionen, so dass keine Doubletten importiert werden.
    Birger - Ninox Support
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Den Import habe ich nun hinbekommen.
    Über die separate Datei "Ansprechpartner" möchte ich nun die
    Kontakte mit den zugehörigen Firmendaten verknüpfen.
    Die Tabellen habe ich nun entsprechend Ihrem Hinweis bei der Kombination Person - Mitarbeiter - Firma (s.o) verknüpft.
    Nun muss ich die Tabelle "Ansprechpartner" nur noch mit den Daten füllen. Allerdings bin ich da noch am Ausprobieren und für Tipps dazu sehr dankbar.

    Grüße und ein schönes WE
    Wolf
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Super! Vielen Dank!
    • donremo
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Ninox-Team,

    ich habe mir nun eine Datenbank "Kunden" erstellt, die mir als CRM-Tool sehr gute Dienste leistet.

    Ich habe eine Tabelle "Projektliste", die ich über eine 2. Tabelle "Projektzuordnung" mit der Kundendatei verknüpft habe:
    Projektliste Kunde

    Also eine N:M-Beziehung ähnlich Ihrem Beispiel oben bei
    Person Firma.

    Nun will ich diese Tabelle "Projektzuordnung" natürlich mit den bereits bestehenden Daten aus der "Projektliste" und den verknüpften "Kunden" füllen.
    Als Verknüpfungsfeld steht mir im Moment nur der Kundenname zur Verfügung, der in der Datei "Kunden" und in der "Projektliste" identisch ist.
    Wie gehe ich hier vor? Über die Massendatenänderung oder oder doch eher über die Importfunktion, so dass ich alle vorhandenen Projekte aus der Projektliste in dieser Datei habe? Für Ihre Hilfestellung wäre ich sehr dankbar!
    Viele Grüße
    Wolf
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    wenn ich es richtig verstehe, dann kann es für einen Kunden ein oder mehrere Projekte geben und andererseits kann ein Projekt einem oder mehreren Kunden zugeordnet sein. Oder ist es doch so, dass es immer genau einen Kunden pro Projekt gibt? Dann wäre eine M:N-Verknüpfung nicht richtig.

    Schreiben Sie mir doch, dann klären wir das: support@ninoxdb.de
    Birger - Ninox Support
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Guten Tag,
    folgende Situation. Es gibt eine Tabelle "Texte" und Tabelle "Schlagwörter" diese sind mittels n:m Beziehung über Tabelle "MULTIPLE TAGS" miteinander verknüpft.
    Wenn ich mich in einem Text befinde, sehe ich alle Schlagwörter die zu diesem Text gehören. Dazu präpariere ich die Tabelle MULTIPLE TAGS entsprechend. Genauso kann ich zu jedem Schlagwort die Texte anschauen. Die Datensätze in der Tabelle Texte bestehen aber aus mehreren Felder. Um alle diese Felder anzuschauen muss ich den Datensatz öffnen. Bei n:m Beziehung verhält sich Ninox aber stufenweise und konsequent :
    wenn ich auf einen Datensatz "Texte" in dem Formular "Schlagwörter" klicke, lande ich erstmal in der Tabelle"MULTIPLE TAGS", dann muss ich nochmal auf mein Text klicken um den Datensatz zu öffnen. So lange man die Datenbank für sich selbst programmiert und alleine nutzt, kann man damit leben. Wenn man aber unerfahrene Leute ins Team einlädt oder sogar die Datenbank als Leistung verkaufen möchte, ist dieses Verhalten für Endanwender schwierig zu verstehen, einfach ein Klick zu viel. Hier wäre ein Trigger "bei Klick" angebracht in dem man z.B. ein popup Fenster aus der m-Tabelle geöffnet wird, ohne nm Formular zu öffnen.

    Grüße
    Leo