0

Import und Verknüpfung zweier Exceltabellen (csv)

Hallo, 

und Entschuldit bitte wenn die Frage von Neulingen schon öfter gestellt wurde. Dann freu ich mich über einen Link.

 

Szenario: Eine kleine Kfz-Werkstatt möchte ihre digitalisierung voranbringen und ist neu bei ninox 

 

Ich habe zwei über die Jahre gewachsene Exceltabellen (je 5.000 Einträge),

in der Ersten habe ich alle Kundendaten erfasst (Name, Tel, Anschrift)

In der Zweiten habe ich alle Fahrzeugdaten (Marke, Modell, Zulassung, FIN, etc.)

 

Ich habe die zweite Tabelle nach dem Import mit der ersten verknüpft und möchte mir ersparen

alle 5.000 Einräge "händisch" per klick zu verknüpfen.

In beiden Tabellen steht in der ersten Spalte die eindeutige/einmalige Kundennummer um eine Verbindung herstellen zu können.

 

Habt ihr einen Rat wonach ich im Handbuch suchen muss, oder vielleicht einen Link?

 

Vele Dank,

Borris Häring

7 Antworten

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

    Hallo Borris, um einmalig die Verknüpfungen anhand der Kundennummer herzustellen, könnte man bspw. in der Console folgendes Skript ausführen:

     

    for i in Fahrzeugdaten do
       let myKd := first(select Kundendaten where Kundennummer = i.Kundenummer)
       i.Kundendaten := myKd
    end

    • ihr-gutachten.com GmbH
    • Borris_Haring
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke Copytexter,

    ich habe es gleich ausprobiert und darauf geachtet das die Tabellen exakt so benannt sind wie in ihrem Scriptbeispiel.

    Leider gibt mir die Console folgende Fehlermeldung aus:

     

    "Eine Tabellenspalte wurde nicht gefunden: Fahrzeugdaten in Zeile 1, Spalte 22"

     

    Eine Tabellenspalte wurde nicht gefunden: Fahrzeugdaten in Zeile 1, Spalte 22
    Eine Tabellenspalte wurde nicht gefunden: Kundennummer in Zeile 2, Spalte 58
    Expression does not return a record: i in Zeile 2, Spalte 63
    Eine Tabellenspalte wurde nicht gefunden: Kundenummer in Zeile 2, Spalte 74
    Expression does not return a record: i in Zeile 3, Spalte 5
    Eine Tabellenspalte wurde nicht gefunden: Kundendaten in Zeile 3, Spalte 19

     

    Nun kann es sein, dass ich beim vorherigen, händischen "rumprobirern" Dinge verschlimmbessert habe, die jetzt zu solchen Meldungen führen.

    Vielleicht sollte ich die csv Tabelle nochmal frisch improtieren?

     

    Trotzdem erstmal vielen Dank für die super schnelle Antwort!

    Viele Grüße aus Berlin,

    Borris Häring

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

    Bei "Fahrzeugdaten" und dem "Kundendaten" in Zeile 2 handelt es sich um die Namen der Tabellen. Ich weiß ja nicht, wie sie wirklich heißen. Man müsste diese Namen also ggf. ersetzen. Das "Kundendaten" in Zeile 3 ist der Name der Verknüpfung. Wenn man in Ninox eine Verlnüpfung anlegt, dann bekommt sie automatisch den Namen der verknüpften Tabelle. Wenn also die Tabelle gar nicht "Kundendaten" heißt, dann heißt auch das Verknüpfungfeld anders. Also muss auch diese Bezeichnung entsprechend ersetzt werden.

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

    Ach, ich Dämel sehe gerade: Da fehlt das "select". Also:

     

    for i in select Fahrzeugdaten do
       let myKd := first(select Kundendaten where Kundennummer = i.Kundenummer)
       i.Kundendaten := myKd
    end

     

    Sorry!

    • ihr-gutachten.com GmbH
    • Borris_Haring
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hi, ich hab drauf geachtet, dass die Tabellennamen in ninox exakt so benannt sind wie in deinem script.

    Das fehlende "select" habe ich hinzugefügt. Die Fehlermeldung ist auch gleich viel kürzer geworden ;-)

    "

    Eine Tabellenspalte wurde nicht gefunden: Kundennummer in Zeile 2, Spalte 58
    Eine Tabellenspalte wurde nicht gefunden: Kundenummer in Zeile 2, Spalte 74
    Eine Tabellenspalte wurde nicht gefunden: Kundendaten in Zeile 3, Spalte 19

    "

    Ich gehe alles nochmal genau durch...

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

    Ich habe das Szenario gerade mal nachgestellt und ausprobiert. In obigem Skript hatte ich beim zweiten "Kundennummer" ein "n" zu wenig. Also noch mal:

     

    for i in select Fahrzeugdaten do
       let myKd := first(select Kundendaten where Kundennummer = i.Kundennummer);
       i.Kundendaten := myKd
    end

    • ihr-gutachten.com GmbH
    • Borris_Haring
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke, es hat endlich geklappt, ich hatte noch einen Fehler provoziert, weil ich wohl in einer Spalte nur den Namen der Ansicht, nicht aber den Spaltennamen in der eigentlichen Tabelle geändert habe. Hat jetzt aber zusammen mit dem Support von ninox geklappt.
    Beste Grüße,

    Borris

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 735Ansichten