Seite 1 von 2

[Gelöst] Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 02:00
von Milber
Hallo freie Freunde,

als Freund von Datenbanken bin ich seit c64-Zeiten von - Datenbanken. Nach access seit 1991 bin ich jetzt umgestiegen auf Base im Libre-Paket. Besser als Base in OO, aber mir fehlt ein Bequemlichkeitsfaktor.
In Access kann man ein mehrere Datensätze ans Ende einer Tabelle anfügen. Als Beispiel wie ich das gemacht hatte:

Ich habe eine sehr umfangreiche Datenbank über meine Musik, immer wenn eine neue LP, CD Kassette oder so dazu kam habe ich die Songs eingegeben
Lied (mit Zusatzangaben) -> Daten an das Ende kopiert -> wieder die beiden angeklickt und an das Ende kopiert -> das Prozedere bis ich alles hatte und nur noch Titel korrigiert.
Und genau DAS kann ich nicht unter Base, ich muss also jeden Datensatz neu eingeben, mit den jeweiligen Infos obwohl halt innerhalb einer LP alle Infos außer dem Titel gleich bleiben.
Gibt es eine Möglichkeit, es so bequem zu haben wie unter Access?

Danke für Eure Antwort

Milber

Re: Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 09:37
von gogo
Das ist eine in der Tat häufig genutzte Funktion von Access, ist aber in LO und OO nie implementiert worden. So etwas lässt sich aber leicht für den Einzelfall erstellen, jedenfalls so lange es nur ein Datensatz ist der n mal eingefügt werden soll. Ansonsten wird es ein wenig aufwändiger, (aber nicht so, dass es wirklich ganz in die Tiefen von Starbasic geht)

Re: Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 14:35
von RobertG
Hallo Milber,

ich verstehe zwar nicht ganz den Sinn des Vorgehens, weil ja Datenbanken gerade möglichst wenige duplizierte Daten enthalten sollten. Das Duplizieren von Daten geht allerdings ohne große Probleme vonstatten, wenn die Tabelle mit einem Primärschlüssel versehen ist, der auf einem AutoWert beruht:
Zeilenkopf mit der linken Maustaste anklicken und ziehen erzeugt eine Kopie.
Zeilenkopf anklicken, Shift-Taste und zweiten Wert anklicken und ziehen erzeugt die Kopie der angeklickten Datensätze.

Das funktioniert sowohl in Tabellen als auch bei einem Tabellenkontrollfeld im Formular.

Gruß

Robert

Re: Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 15:49
von Milber
Danke für Eure schnellen Antworten, ich werde den Tipp von RobertG (keine Angst, die kopierten Datensätze werden - bei mir Titel der Songs - ja geändert, die anderen Infos bleiben jedoch immer die gleichen) sofort ausprobieren. Alleine damit könnte ich mir einen Haufen Arbeit sparen.
THX

Re: Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 17:02
von F3K Total
Tja,
es scheint mir so, als müsstest Du die Grundlagen von relationalen Datenbanken noch etwas üben, Stichworte "Normalisierung", "1:n Beziehungen".
Mit den richtigen SQL-Befehlen kannst du deine Tabelle in zwei Tabellen aufteilen:
  • T_Platten
  • T_Titel
und schwups, brauchst du die Platte nur noch einmal einzugeben und kannst ihr so viele Titel zufügen, wie du möchtest/brauchst.
Anbei ein einfaches Beispiel.

Um die DB weiter zu normalisieren könnte man noch eine Tabelle Interpreten hinzufügen und die Interpreten in der Tabelle Platten durch Fremdschlüssel ersetzen.
Gruß R

Re: Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 17:35
von Milber
Weiß ich, aber ich habe 1990 mit 'Access 1 angefangen und da war ich halt nicht fit, überhaupt nicht. Und der damals angefangene Datenbestand wird halt immer noch verwendet. Und jetzt noch mal neu anzufangen - no way.

Re: Eingabe von Datensätzen

Verfasst: Fr 18. Dez 2015, 18:28
von Milber
Ich habe die Tipps ausprobiert und es klappt. Danke für Eure Hilfe.
Gelöst. (wie kennzeichne ich das? Bin neu im Forum)
Hab's gelöst.

Re: [Gelöst] Eingabe von Datensätzen

Verfasst: Sa 19. Dez 2015, 12:47
von F3K Total
Milber hat geschrieben:Und jetzt noch mal neu anzufangen - no way.
Das ist nicht nötig, wie ich geschrieben habe. Mit ein paar SQL-Befehlen oder Abfragen/Ansichten kannst Du aus der einen Tabelle die zwei oder drei relationalen Tabellen extrahieren.
Wenn du eine Kopie deiner Tabelle, mit den Titeln von einigen Platten unterschiedlicher Interpreten zur Verfügung stellst, wird dir bestimmt gezeigt, wie das geht.

Gruß R

Re: [Gelöst] Eingabe von Datensätzen

Verfasst: So 20. Dez 2015, 23:19
von Milber
F3K, du bist genial.
Hier gerne die beiden Dateien.

Re: [Gelöst] Eingabe von Datensätzen

Verfasst: Mo 21. Dez 2015, 01:26
von F3K Total
Moin,
die Daten sind inkonsistent:
Es gibt in der Song-Tabelle 1859 Alben-Interpreten Kombinationen, die nicht in der Alben-Tabelle vorkommen, und es gibt in der Alben-Tabelle 243 Alben, die wiederum nicht in der Song-Tabelle existieren.
Das ist doof. Passt nicht zusammen. Da musst du wohl mal aufräumen.
Das geht gut mit SQL, wenn man weiß was man will.
Deine DBase Dateien lassen sich nicht mit SQL bearbeiten, den es handelt sich nicht um eine relationale Datenbank.
Darum habe ich deine Tabellen mal in eine HSQL Datenbank importiert, jetzt kannst du aufräumen.
Wenn dann alles konsistent ist, d.h. es gibt zu jedem Album auch Titel, zu allen Titeln ein Album, dann kannst du die Daten auch wieder in DBASE überführen.
Ich kann hier nicht weiter helfen, du mußt sagen, was der Master ist, Alben oder Titeltabelle.
Gruß R