0

Relationale Daten importieren

Hallo Zusammen,

vor einiger Zeit habe ich mir eine Datenbank erstellt und bin sehr zufrieden mit der App.
Jetzt möchte einige neue Daten in eine Verbindungstabelle (Tab A) importieren. In Tab A stehen beliebige Kombinationen aus Tab B und Tab C. Um Tab A zu aktualisieren, importiere ich ein txt-File, das in jeder Zeile die gewünschte neue Kombination der Schlüssel von Tab B und Tab C enthält. Für den Import setze ich die beiden Werte auf "Schlüssel". Beim drücken auf "Weiter" stürtzt die App ab.
Was mache ich verkehrt?

Schöne Grüße
Johannes

19 Antworten

null
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Johannes,
    txt-files lassen sich noch nicht mit Ninox importieren. CSV Dateien können importiert werden. Haben Sie die Möglichkeit die TXT in CSV umzuwandeln?
    VG, Alex
    • jobex
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Alex,
    das klingt erstmal komisch für mich, weil ich seit 1 Jahr meine Tabellen über txt importiere. (Excel speichern unter -> txt (Tabstopp getrennt) -> import in ninox)

    Aber um diesen Fehler auszuschließen, habe ich auch ein CSV versucht. auch hier stürzt die App ab.
    Grüße, Johannes
    • Alexander_Koenig
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Johannes,
    Danke für das Feedback. Der Import von txt Dateien klappt, wusste ich noch nicht.
    Wir haben gerade versucht den Fehler nachzustellen.
    Können Sie uns weitere Information zu Verfügung stellen?
    Werden in Tab A Zeilen aktualisiert oder neue Zeilen hinzugefügt?
    Sollen Verknüpfungen zu Tabelle B und C erstellt werden - sind dort bereits die Datensätze angelegt?
    Gerne können Sie sich auch direkt an support@ninoxdb.de wenden.
    VG, Alex
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Johannes,

    Ich hatte sowas auch schon mal gehabt. Ich sage nicht, dass meine Lösung richtig ist, aber hat bei mir funktioniert. Zuerst erstellst du in Ninox eine Ansicht von der Tab A mit Spalten Nr, Nr von B, Nr von C. Diese Tabelle exportierst du als CSV. In der exportierten Tabelle änderst du deine Spalten von B und C und importierst wieder nach Ninox. Du machst aber nur die erste Spalte Nr als Schlüssel. Die beiden anderen bleiben als "alle aktualisieren".

    Gruß
    Leo
    • jobex
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,
    danke für deinen Tip! Leider kann ich die Funktion (Schlüssel/alle aktualiseren/...) der Tab A beim Import nicht einstellen.

    Alex hat mir den Tip gegeben, eine andere Spalte als die ID für den Bezug beim Import zu verwenden. Jetzt hats geklappt.
    Demnächst kann man aber die ID nutzen.

    Grüße, Johannes
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Johannes,
    Habe jetzt bei mir ausprobiert. Es stimmt, bei ID gibt es keine Einstellmöglichkeiten, wenn man aber die zwei anderen Spalten auf "alle aktualisieren" setzt, werden die Änderungen trotzdem sauber durchgeführt.
    Grüße
    Leo
    • Leonid_Semik
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,
    Ich möchte das Thema nochmals aufgreifen. Ich habe drei Tabellen:
    Produkte (Produktname)
    Eigenschaften(Eigenschaftname)
    Produkteigenschaften
    Die Tabelle Produkteigenschaften enthält Felder:
    Produkt (Verknüpfung auf Tabelle Produkte)
    Eigenschaft (Verknüpfung auf Tabelle Eigenschaften)
    Wert (Text)
    Die Daten importiere ich über Access vom SQL Server, es sind ca. 6000 Datensätze.

    In SQL ist es gewährleistet dass die Kombination aus Produkt und Eigenschaft eindeutig ist. Wenn ich jetzt die .csv Tabelle nach Ninox importiere, gebe ich als Option "nur neue Zeilen hinzufügen" und wähle die Felder Produkt und Eigenschaft als Schlüssel.
    Theoretisch sollte Ninox jetzt die vorhandenen Kombinationen aus Produkt und Eigenschaft ausschließen und die neuen Zeilen hinzufügen. Stattdessen schlägt Ninox bei Vorschau vor die vorhandenen Datensätze als leere Datensätze nochmals hinzufügen und die neuen Datensätze mit Daten gefüllt. Also hätte ich hier theoretisch 12000 Datensätze. Ich habe jetzt probeweise die verknüpfte Felder durch die Textfelder ersetzt, so funktioniert der Import mit zwei Schlüssel problemlos. Bis jetzt habe ich mir damit geholfen, dass ich in der Tabelle Produkteigenschaften einen Textfeld eingefügt habe und per Massendatenänderung mit Formel

    Produkte.Produktname+Eigenschaften.Eigenschaftname

    gefüllt. Das selbe für die Access-Tabelle. So brauche ich nur einen Schlüsselfeld bei Import. Ich denke aber - es ist nicht im Sinne der Erfindung.

    Gruß
    Leo
    • Frank_Bohmer
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,
    danke für die Hinweise! Dieses Thema, mehrere Fremdschlüssel beim Import gleichzeitig auch als Primärschlüssel zur Erkennung von Duplikaten zu verwenden, nehmen wir auf unsere Anofrderungsliste.
    Viele Grüße, Frank
    • PeerTeer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,

    kann ich eigentlich 2 Tabellen auch nachträglich verknüpfen? Z.B. über eine Massendatenänderung?

    Ich habe eine größere Datenbank mit Schulen (ca. 6000 Datensätze) verknüpft mit Schulträgern (ca. 700 Datensätze). Nun habe ich eine Tabelle "Kreise", die möchte ich nachträglich mit den Schulträgern verknüpfen. Sowohl die Tabelle Schulträger, als auch die Tabelle Kreise enthält eine numerische ID, anhand derer sich die Zusammengehörigkeit ergibt.

    Nun kann ich diverse Änderungen via Massendatenänderung machen, aber eine Verknüpfung setzen ist mir bisher nicht gelungen. Mache ich was falsch oder geht das tatsächlich nicht?

    Gruß Peter
    • Alexander_Koenig
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Peter,

    ja es geht. Das Verknüpfungsfeld kannst du über Massendatenänderungen ansprechen.

    let c:= num_Id;
    select 'Schulträger'[num_Id = c].Id

    Hiermit durchsuchst die Tabelle mit der du verknüpfen willst und gibst die ID in das Verknüpfungsfeld.

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

    VG, Alex
    • PeerTeer
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Herzlichen Dank für die schnelle Rückmeldung.

    Bei weiteren Nachfragen melde ich mich direkt bei Support.

    Gruß Peter
    • Holzi
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Es geht nochmal um die nachträgliche Verknüpfung von Tabellen.
    Ich habe die entsprechenden Beiträge und auch die Anleitung "Relationale Daten importieren" gelesen. Leider bekomme ich trotzdem nicht hin.

    Ich habe eine Tabelle "Jahrbuecher" und eine Tabelle "Jahrbuecherinhalte". In beiden gibt es eine Spalte Jahrgang über die die Jahrbuecherinhalte den Jahrbuechern zugeordnet werden können.
    In welcher Tabelle muss ich über die Massendatenänderung welche Formel eintragen, um die Tabellen nachträglich zu verknüpfen?

    Trotz "stundenlanger" Versuche habe ich es nicht hinbekommen.
    Würde mich sehr über Hilfe freuen.
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Holzi,
    Erstens, sollten die Spalten "Jahrgang" in beiden Tabellen als Textspalten angelegt werden und die Inhalte absolut identisch sein.
    Dann öffnest du die Tabelle "Jahrbuecherinhalte" und fügst dort eine Verknüpfung zu der Tabelle "Jahrbuecher"
    In der Tabelle "Jahrbuecherinhalte" gehst du auf Massendatenänderung und bei der Spalte "Jahrbuecher" fügst du folgende Formel an:

    let myYear := Jahrgang;
    first(select Jahrbuecher [Jahrgang = myYear])

    grüße
    Leo
    • Holzi
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,
    mit einer Antwort in dieser Geschwindigkeit (es immerhin Sonntag) habe ich nicht mal im Traum gerechnet!!
    Ganz herzlichen Dank und das beste: Es funktioniert tadellos
    • blue_bee
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo, ich habe in meiner Datenbanke eine Tabelle mit Solarmodulen. Alle Module die ich benötige sind in der Tabelle bereits hinterlegt, nun möchte ich aus einer Excel Tabelle die dazugehörigen Werte für Spannung und Strom hinzufügen. Kann ich das ohne alles hänisch abzutippen realisieren?
    vielen Dank für die tolle Hilfe
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Sucher Sie hier http://manual.ninoxdb.de/de/daten-importieren/ nach dem Stichwort "Duplikate und Schlüssel".

    Birger - Ninox Support
    • office_waffenladenat
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo, ich habe auch ein Verknüpfungsproblem:

    Tabell 9001-BUCHUNGEN ist mit Tabelle 9004-Konten verknüpft.

    Jetzt muss ich mehrer Datensätze in 9001-BUCHUNGEN nachträglich mit einer Nummer die in 9004-Konten steht, verknüpfen.  Wie mach ich das mit der Massendatenänderung ?

    • office_waffenladenat
    • vor 6 Jahren
    • Gemeldet - anzeigen

    oder eine verknüpfung per Button erstellen mit einem bestimmten datensatz, dann gehts auch schneller

    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Die Formel wäre hier:

    –––
    'Name des Verknüpfungsfelds' := record("Tabellenname", i)._id
    –––

    i = Nummer des Datensatz'

     

    Birger