Seite 1 von 1
Nachträgliches Feld einfügen
Verfasst: Sa 2. Sep 2017, 14:44
von Jupp
Hallo,
ich bin blutiger Base-Anfänger und habe mir eine Kundendatenbank erstellt. Jetzt merke ich, dass ich nach "Vorname und "Name" noch ein Feld benötige - so etwas wie "Zusatz zum Nachnamen". Ich habe gegoogelt und rumprobiert, aber ich schaffe es einfach nicht, ein nachträgliches Feld einzufügen. Wer kann mir netterweise weiterhelfen?
Gruß Jupp
Re: Nachträgliches Feld einfügen
Verfasst: Sa 2. Sep 2017, 15:52
von Pit Zyclade
A) In base kann man mit den direkten Befehlen (GUI) höchstens ein Feld am Ende der Tabelle anfügen:
base richtige Datei starten
betreffende Tabelle markieren
mit re. Maustaste "bearbeiten"
gewünschtes Feld am Ende anfügen
Typ wählen
sichern
DB schließen und erneut öffnen
B) Man kann mit Hilfe der SQL-Sprache durchaus ein Feld einfügen:
base richtige Datei starten
Extras->SQL: Folgendes eingeben
alter table "Name der Tabelle in Anführungszeichen" add "Name des neuen Feldes" text(20) before "Name des nachfolgendesn Feldes"
Anmerkung: text ist der Typ, (20) ist die Länge. Wenn die Syntax richtig ist, wird das bestätigt.
Jetzt noch alles sichern, Datei sichern, Datei schließen, base schließen, base und Datei erneut aufrufen und überprüfen. Länge und Typ kann man jetzt noch verändern.
Re: Nachträgliches Feld einfügen
Verfasst: Sa 2. Sep 2017, 16:01
von RobertG
Hallo Jupp,
meinst Du das zusätzliche Feld in der Tabelle, oder ist es da schon und Du willst es auch noch im Formular haben?
Tabelle: Mit der grafischen Benutzeroberfläche kannst Du Felder nur zum Schluss der Tabelle hinzufügen. Die Position innerhalb der Tabelle ist für die Datenbank aber eigentlich egal. Wenn Du Tabellen noch nicht miteinander unter Extras > Beziehungen miteinander verknüpft hast, dann kannst Du, ebenfalls in der GUI, einfach die Tabelle kopieren und wieder einfügen. Dann erscheint ein Assistent, bei dem Du dann die Reihenfolge der Felder für die neue Tabelle entsprechend einstellen kannst.
Über Extras > SQL kannst Du ein Feld an einer bestimmten Position der Tabelle einfügen.
Code: Alles auswählen
ALTER TABLE "Adresse" ADD "Namenszusatz" VARCHAR(25) BEFORE "Name";
Das würde ein Feld vor dem Feld "Name" in der Tabelle "Adresse" einfügen. Das Feld wäre ein Textfeld für maximal 25 Zeichen.
Informationen gesammelt zu Base findest Du übrigens im Handbuch, aus dem auch das obige Beispiel stammt.
Gruß
Robert
Re: Nachträgliches Feld einfügen
Verfasst: Sa 2. Sep 2017, 16:53
von Jupp
Ganz herzlichen Dank für die ausführlichen Antworten. Mit eurer Hilfe ist es mir gelungen, das Feld einzufügen und an die richtige Stelle zu platzieren! Danke!
Eine Kleinigkeit irritiert mich noch etwas: in der unteren Leiste wird immer angezeigt, der Datensatz bestünde aus 41 Daten - egal wie weit er wächst. Geht man über die 41 hinaus, bleiben die Zahlen stehen und werden überschrieben (siehe Fotos). Sieht merkwürdig aus ...
Kann man das lassen oder habe ich was falsch gemacht im Datensatz?
Re: Nachträgliches Feld einfügen
Verfasst: Sa 2. Sep 2017, 19:07
von Pit Zyclade
Muß mich korrigieren:
Natürlich für den Typ varchar anstatt text angeben, die Länge ohne Leerzeichen in Klammern danach.
Dein Problem, dass die Datensätze scheinbar fehlen oer so ähnlich ist zu erwarten, wenn man die Datei nicht sichert und schließt, bevor man damit nach erneutem Öffnen arbeitet.
Dann habe ich früher mal festgestellt, dass man erst zum letzten Datensatz gehen muß, bevor man die richtige Gesamtzahl angezeigt bekommt. Dazu steht unten der Pfeil mit Strich zur Verfügung.
Re: Nachträgliches Feld einfügen
Verfasst: Sa 2. Sep 2017, 19:20
von Jupp
Danke!
Re: Nachträgliches Feld einfügen
Verfasst: So 3. Sep 2017, 09:29
von RobertG
... und das mit den Überschriebenen Zahlen für die Gesamtzahl der bisher im Cache liegenden Datensätze ist ein Bug:
https://bugs.documentfoundation.org/sho ... i?id=94341
Da ist sogar bekannt, mit welchem Commit der Bug verursacht wurde, nur traut sich anscheinend niemand an diesen Commit ran, um die Zahlen wieder erkennbar zu machen.
Gruß
Robert
Re: Nachträgliches Feld einfügen
Verfasst: So 3. Sep 2017, 11:03
von Rocko
Jupp hat geschrieben: ↑Sa 2. Sep 2017, 16:53
Eine Kleinigkeit irritiert mich noch etwas: in der unteren Leiste wird immer angezeigt, der Datensatz bestünde aus 41 Daten - egal wie weit er wächst.
Das ist ein Feature und kein Bug!
Unabhängig wie viele Datensätze die Datei hat, werden beim Öffnen der Datenbank nur die ersten 41 geladen. Wenn in der Datenbank aber mehr Datensätze enthalten sind, wird das
durch den Stern dahinter angezeigt. Damit wird vermieden, dass in jedem Fall unnötiger Weise alle Datensätze vollständig geladen werden und damit auch zur Anzeige zur Verfügung stehen. Willst du also weitere Datensätze anzeigen, ist es zweckmäßig, sie wie von Pit beschrieben zunächst in den Cache zu laden. Dann tritt auch der Anzeigefehler nicht auf.
Re: Nachträgliches Feld einfügen
Verfasst: So 3. Sep 2017, 11:41
von Jupp
Super! Ich danke Euch wirklich sehr für Eure tolle Hilfe!
LG Jupp