Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Moderator: Moderatoren
-
- Beiträge: 4
- Registriert: Sa, 21.03.2015 10:36
Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Hallo liebes Forum:)
Ich bin neu hier und beschäftige mich gerade mit BASE.
Habe eine Frage wo ich nach googlen usw keine Antwort gefunden habe.
Ich habe eine große Masterdatei in Calc und möchte diese als Grundlage für eine Datenbank in Base nutzen.
Im Zuge der Normalisierung werde ich Plz´s und Ort usw. in seperate Tabellen nehmen.
Diese Daten sind alle schon in der Masterdatei enhalten.
Nun Frage ich mich ob man die Masterdatei so aufteilen kann das ich bei einem Adressensatz direkt nur die Namen in eine Tabelle importiere und PLZ Ort in eine seperate Tabelle importiere usw.. Wenn es importiert ist sollte dann direkt eine "verknüpfung" der Tabellen vorhanden sein.
Also das beim Namen Peter Müller direkt die PLZID 24 steht.
Ist sowas möglich ??
Gruß
Thomas
Ich bin neu hier und beschäftige mich gerade mit BASE.
Habe eine Frage wo ich nach googlen usw keine Antwort gefunden habe.
Ich habe eine große Masterdatei in Calc und möchte diese als Grundlage für eine Datenbank in Base nutzen.
Im Zuge der Normalisierung werde ich Plz´s und Ort usw. in seperate Tabellen nehmen.
Diese Daten sind alle schon in der Masterdatei enhalten.
Nun Frage ich mich ob man die Masterdatei so aufteilen kann das ich bei einem Adressensatz direkt nur die Namen in eine Tabelle importiere und PLZ Ort in eine seperate Tabelle importiere usw.. Wenn es importiert ist sollte dann direkt eine "verknüpfung" der Tabellen vorhanden sein.
Also das beim Namen Peter Müller direkt die PLZID 24 steht.
Ist sowas möglich ??
Gruß
Thomas
Re: Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Hallo Thomas,
ich würde den folgenden Weg gehen:
1. Komplette Tabelle der Masterdatei in Base importieren.
2. Die Felder PLZ und Ort daraus mit einer Abfrage auslesen und als separate PLZOrt-Tabelle abspeichern (dabei Autowert zum Erstellen der ID einstellen).
3. Der Importtabelle ein Feld "PLZID" hinzufügen.
4. Unter Extras → SQL ein Update für diese Tabelle ausführen:
5. Die Importtabelle zum Bearbeiten öffnen und die Felder "PLZ" und "Ort" löschen, die Änderung speichern und anschließend die Tabelle wieder schließen.
Gruß
Robert
ich würde den folgenden Weg gehen:
1. Komplette Tabelle der Masterdatei in Base importieren.
2. Die Felder PLZ und Ort daraus mit einer Abfrage auslesen und als separate PLZOrt-Tabelle abspeichern (dabei Autowert zum Erstellen der ID einstellen).
Code: Alles auswählen
SELECT DISTINCT "PLZ", "Ort" FROM "Importtabelle"
4. Unter Extras → SQL ein Update für diese Tabelle ausführen:
Code: Alles auswählen
UPDATE "Importtabelle" AS "a" SET "a"."PLZID" = (SELECT "ID" FROM "PLZOrt" WHERE "PLZ"||"Ort" = "a"."PLZ"||"a"."Ort")
Gruß
Robert
-
- Beiträge: 4
- Registriert: Sa, 21.03.2015 10:36
Re: Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Danke
hat nicht funktioniert.
aber
dann ja
Vielen Dank
Code: Alles auswählen
UPDATE "Importtabelle" AS "a" SET "a"."PLZID" = (SELECT "ID" FROM "PLZOrt" WHERE "PLZ"||"Ort" = "a"."PLZ"||"a"."Ort")
aber
Code: Alles auswählen
UPDATE "Importtabelle" AS "a" SET "a"."PLZID" = (SELECT MAX ("ID") FROM "PLZOrt" WHERE "PLZ"||"Ort" = "a"."PLZ"||"a"."Ort")
Vielen Dank
Re: Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Hallo Thomas,
wenn nur
funktioniert, dann ist an der Tabelle "PLZOrt" etwas faul. Da müssen dann Duplikate drin sein. Das dürfte allerdings nicht vorkommen, wenn Du mit
die Tabelle erstellt hast dürfte so etwas nicht passieren, denn der Zusatz DISTINCT schließt aus, dass es von der Kombination "PLZ" und "Ort" Duplikate gibt.
Ich würde dringedst noch einmal die Tabelle "PLZOrt" auf Duplikate untersuchen.
dürfte nirgendwo größer als 1 sein.
Gruß
Robert
wenn nur
Code: Alles auswählen
UPDATE "Importtabelle" AS "a" SET "a"."PLZID" = (SELECT MAX ("ID") FROM "PLZOrt" WHERE "PLZ"||"Ort" = "a"."PLZ"||"a"."Ort")
Code: Alles auswählen
SELECT DISTINCT "PLZ", "Ort" FROM "Importtabelle"
Ich würde dringedst noch einmal die Tabelle "PLZOrt" auf Duplikate untersuchen.
Code: Alles auswählen
SELECT COUNT("PLZ"||"Ort"), "PLZ"||"Ort" FROM "PLZOrt" GROUP BY "PLZ"||"Ort"
Gruß
Robert
-
- Beiträge: 4
- Registriert: Sa, 21.03.2015 10:36
Re: Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Hallo,
Ja hattest vollkommen recht es gab doppelte Einträge.
Hab ich nicht drauf geachtet.
Wenn ich die Abfrage mit SQL mache kann ich das Ergebniss aber nicht in eine CALC Tabelle kopieren um es dann wieder zu Importieren. Oder hab ich jetzt einen Denkfehler. Hab bisher immer mit Access gearbeitet aber Arbeitgeber bedingt beschäftige ich mich jetzt mit Base.
Gruß
Thomas
---------------------------
Für blöde gehts ganz einfach
Vielen Dank
Ja hattest vollkommen recht es gab doppelte Einträge.
Hab ich nicht drauf geachtet.
Wenn ich die Abfrage mit SQL mache kann ich das Ergebniss aber nicht in eine CALC Tabelle kopieren um es dann wieder zu Importieren. Oder hab ich jetzt einen Denkfehler. Hab bisher immer mit Access gearbeitet aber Arbeitgeber bedingt beschäftige ich mich jetzt mit Base.
Gruß
Thomas
---------------------------
Für blöde gehts ganz einfach
Vielen Dank
Re: Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Hallo Thomas,
ich nehme an, dass wir uns da missverstanden haben. Wenn ich von Tabellen schreibe, dann ist das für mich zuerst einmal eine Tabelle in Base.
Bei diesem Schritt
2. Die Felder PLZ und Ort daraus mit einer Abfrage auslesen und als separate PLZOrt-Tabelle abspeichern (dabei Autowert zum Erstellen der ID einstellen).mit dieser Abfragedurch die Abfrage
eine Tabelle erstellt, indem Du die Abfrage speicherst, mit der rechten Maustaste über die Abfrage, kopieren. Dann in den Tabellencontainer gehen und rechte Maustaste - Einfügen. Dabei dann den Primärschlüssel erstellen lassen.
Die Abfrage schließt durch DISTINCT doppelte Werte aus.
Gruß
Robert
ich nehme an, dass wir uns da missverstanden haben. Wenn ich von Tabellen schreibe, dann ist das für mich zuerst einmal eine Tabelle in Base.
Bei diesem Schritt
2. Die Felder PLZ und Ort daraus mit einer Abfrage auslesen und als separate PLZOrt-Tabelle abspeichern (dabei Autowert zum Erstellen der ID einstellen).mit dieser Abfragedurch die Abfrage
Code: Alles auswählen
SELECT DISTINCT "PLZ", "Ort" FROM "Importtabelle"
Die Abfrage schließt durch DISTINCT doppelte Werte aus.
Gruß
Robert
-
- Beiträge: 4
- Registriert: Sa, 21.03.2015 10:36
Re: Calc Tabelle in mehrere Base Tabellen automatisch aufteilen
Hallo Robert,
Vielen Dank.
Hatte diese "Fehler" meinerseits erkannt und behoben
Jetzt Funktioniert Alles SUPER!!
Vielen Dank
Vielen Dank.
Hatte diese "Fehler" meinerseits erkannt und behoben
Jetzt Funktioniert Alles SUPER!!
Vielen Dank