Hallo Martin, > > Noch mal mein Problem: ich habe eine einfache Buecherdatenbank von Works > in Base konvertiert. Diese Datenbank besteht aus einer Tabelle; jetzt > moechte ich diese Datenbank in eine relationale umwandeln, um > wiederholende Eintraege -Serie, Autor, Verlag - in separate Tabellen > erfassen und mit der alten Tabelle verknuepfen. > > Mein Wunsch yaere ein Makro oder Skript, das dies moeglichst automatisch > erledigt. > Wozu brauchst Du ein Skript? Der Vorgang wird doch lediglich einmal durchgeführt. Da ist die Entwicklungszeit für das Skript doch länger als das Umkopieren der Ursprungstabelle.
Ich mache einmal an einen kleinen Beispiel klar, wie ich das (vor einiger Zeit) realisiert habe. Ursprungstabelle ID Autor Titel Verlag 1 Kästner Emil und die Detektive Dressler 2 Kästner Der 35. Mai Dressler 3 Kofler MySQL Wessley Jetzt die erste Abfrage "SELECT DISTINCT Autor FROM Ursprungstabelle" Die Abfrage ergibt eine Tabelle mit lediglich Autor Kästner Kofler Die Abfrage nehme ich, ziehe sie in die Tabellenansicht, werde nach einem Primärschlüssel gefragt, lasse diesen automatisch zusätzlich erstellen und habe dann die Tabelle Autor ID Autor 1 Kästner 2 Kofler Gleiches Verfahren für Verlag und andere Redundanzen (Ort, bei Dir 'Serie'). Zusammenfassung der Tabellen über eine Abfrage "SELECT Ursprungstabelle.ID, Autor.ID AS IDa, Ursprungstabelle.Titel, Verlag.ID AS IDv FROM Ursprungstabelle, Autor, Verlag WHERE Ursprungstabelle.Autor = Autor.Autor and Ursprungstabelle.Verlag = Verlag.Verlag" Die Abfrage ergibt ID IDa Titel IDv 1 1 Emil und die Detektive 1 2 1 Der 35. Mai 1 3 2 MySQL 2 Diese Abfrage wird auch in die Tabellenansicht gezogen und als neue Haupttabelle verwandt. Primärschlüssel ist ID, sollte wie in den anderen Tabellen automatisch weiter erzeugt werde. Bei dem ganzen Verfahren musste ich damals etwas Handarbeit anlegen, weil manchmal Autoren oder Verlage fehlten. Ich habe dafür in die Ursprungstabelle jeweils ein "-" eingefügt. Da diese (leeren) Einträge ja einfach ausgefiltert werden können ist dies lediglich entweder eine wiederkehrende Tastaturtätigkeit oder Du nimmst die ganze Tabelle, liest sie in Calc ein und lässt die Zellen einfach Ausfüllen. Diese Ziehverfahren geht in der Basetabelle nicht. Bei Unklarheiten kannst Du mich auch gerne privat kontaktieren - wenn Dir nicht ein anderes Listenmitglied eine bessere/einfachere Lösung präsentieren kann. Gruß Robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
