Dateimport
Houston.... ach nein Berlin ich habe ein Problem
Mir liegen Daten in einem CSV UTF-8 Format wie folgt vor.
D.h. ich habe diverse Bücher und den dazugehörigen Autor, der wie man sieht mehrfach Auftritt. Wenn ich jetzt versuche das ganze per Importfunktion für relationale Datenbanken nach Ninox zu kopieren. Bekomme ich zwar alles Datensätze in die Datenbank mit der entsprechenden Verknüpfung zum Buch, aber z.b. 12 x Allen Ackerman.
Was muss ich tun, um nur einmal Allen Ackerman in die Datenbank zu bekommen, aber die 12 Bücher diesem einen Namen zuzuordnen?
Stehe auf dem Schlauch.
Wolfgang
10 Antworten
-
Wenn du die Zabelle schon importiert hast, kannst du jetzt noch eine Tabelle Autoren erstellen. Dort ein Textfeld Name. Jetzt in der importierten Tabelle eine Verknüpfung zu der Tabelle Autoren hinzufügen und noch einen Button:
for i in 'DEINE TABELLE' do
if cnt(select Autoren where Name=i.Autor)=0 then
let new:=create Autoren;
new.Name:=i.Autor;
i.Autoren:=new
else
let my:=first(select Autoren where Name=i.Autor);
i.Autoren:=my
end
end
—-
Leo
-
Hallo Leo wo muss der Button mit dem Code hinein? In die Autorentabelle?
Wolfgang
-
Hallo Wofgang,
zuerst: ich habe einen Fehler in der ersten Zeile. Es soll heißen
for i in select 'DEINE TABELLE' do
der Button kann überall stehen. Du kannst sogar den Sript in dr console eingeben und laufen lassen.
Leo
-
Hi Leo , es wird noch eine Fehlermeldung ausgeworfen
-
Wie heißt die Verknüpfung zu Autoren bei BOOKS?
-
Meinst Du das?
-
<<-- Verknüpfung von AUTOREN mit BOOKS (1:N)
-
Hi Leo, ich habe mir jetzt eine ganz neue Datenbank eingerichtet und es noch einmal probiert, jetzt hat es geklappt. Also schon einmal wieder besten Dank. Jetzt muss ich nur noch rausbekommen, wie ich es in meiner bestehenden Datenbank hinbekomme.
Wolfgang
-
Hallo Leo,
in einer neu angelegeten Datenbank funktioniert das alles. Auch wenn ich den Import mit mehreren Tabellen nacheinander mache.
Wenn ich dieses Prozedere jedoch in meiner bestehenden Datenbank ausführe, dann funktioniert zwar der Import mit der Verknüpfung, jedoch löscht er mir dann die Verknüpfungen der bestehenden Datensätze und setzt die Verknüpfung auf unbekannt. Gibt es noch eine Erweiterung, dass bestehende Datensätze unberührt bleiben?
Wolfgang
-
for i in BOOKS do
if not i.AUTOREN then
if cnt(select AUTOREN where Name=i.Autor)=0 then
let new:=create AUTOREN;
new.Name:=i.Autor;
i.AUTOREN:=new
else
let my:=first(select AUTOREN where Name=i.Autor);
i.AUTOREN:=my
end
end
end
Content aside
- vor 5 JahrenZuletzt aktiv
- 10Antworten
- 2029Ansichten