Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Datensätze zusammenfügen





Frage

Hallo, habe folgendes Problem: Habe eine Access Datenbank mit Telefonnummern die bisher nur ein Feld für eine Telefonnummer enthält. Dadurch werden für Partner mit x-Telefonnummern gleich x-Datensätze erstellt (mit gleichem Key). Ich möchte jetzt die Datenbank erweitern, so daß mehrere Telefonnummern pro Partner (privat,mobil,geschäftlich) in einem Datensatz angezeigt werden können. Habe hierzu eine sql-Abfrage erstellt Insert Into NeueTabelle (Name, Tel1) Select Name, Min (Tel) From AlteTabelle Group By Name; Update NeueTabelle N Set Tel2 = ( Select Name, Min (Tel) From AlteTabelle A Where A.Name=N.Name and A.Tel<>N.Tel1 ); Update NeueTabelle N Set Tel3 = ( Select Name, Min (Tel) From AlteTabelle A Where A.Name=N.Name and A.Tel not in (N.Tel1, N.Tel2) ); die erste Abfrage funktioniert noch die Abfrage zwei und drei geben folgenden Fehler aus: Unterabfrage die mehr als ein Feld zurückgeben kann, ohne EXISTS im FROM Abschnitt der Hauptabfrage löschen von Name (bei Select) in Abfrage zwei funktioniert auch nicht

Antwort 1 von struppi

Hallo,
Hab mir nicht die Mühe gemacht Deine Abfragen zu verstehen.
Wollte nur mal Grundsätzliches bemerken...
Normalerweise legt man zur Adresstabelle eine weitere Tabelle an und verknüpft IDs 1:n.
Jetzt kannst Du soviel Telefonnummern anlegen wie Du willst, da jede in einem eigenen Datensatz steht. Zur Ansicht bringst Du das ganze über Haupt und Unterformular. Auf diese Weise lassen sich dann auch Infos und Kontaktpersonen zu den Telefonnummern (unter gleicher Adresse) anlegen.
Warum gehst Du nicht diesen herkömmlichen Weg?
gruß stuppi

Antwort 2 von Schaffi99

Würde ich ja gerne so machen, nur habe ich nicht die Tabelle so angelegt, sondern die Daten wurden von einem alten DOS Programm als Textdatei eingelesen.
Trotzdem Danke für Deine Mühe

Antwort 3 von 14071

du kannst den Tipp von struppi immer noch umsetzen.

Neue Tabelle erstellen, die Personen-ID und Tel-nummer mitgeben und auf die alte Tabelle verknüpfen. Hab ich auch schon mal gemacht und hat prima funktioniert.

Gruß
Jürgen

Antwort 4 von Schaffi99

Danke hat funktioniert!

Gruß Rainer