Hallo Gerhard,

Am 25.06.19 um 00:34 schrieb Gerhard Weydt:
> Hallo Thomas,
>
> Am 24.06.2019 um 23:14 schrieb Thomas:
>> Hallo Gerhard,
>>
>> Am 24.06.19 um 22:48 schrieb Gerhard Weydt:
>>> Hallo Thomas,
>>>
>>> Am 24.06.2019 um 22:37 schrieb Thomas_OO:
>>>> Hallo Robert,
>>>>
>>>> Am 24.06.19 um 16:10 schrieb Robert Großkopf:
>>>>> Hallo Thomas,
>>>>>> ich habe zwischenzeitlich Mint neu installiert, Probleme mit dem
>>>>>> WLAN
>>>>>> gehabt und nun läuft das Notebook wieder.
>>>>>>
>>>>>> LO ist jetzt die mitgelieferte Version 6.0.7. In der Datenbank
>>>>>> wieder
>>>>>> der Fehler, also Treiber installiert und immer noch die
>>>>>> Fehlermeldung.
>>>>>> Mit Einschalten der experimentellen Funktionen geht es jetzt.
>>>>> Firebird ist erst sei der Version LO 6.1 aus dem experimentellen
>>>>> Modus
>>>>> herausgenommen worden - was nicht heißt, dass da nicht noch
>>>>> einiges an
>>>>> "Experiment" drin sitzt.
>>>> Ja, das habe ich auch festgestellt. Ich kann zwar die Tabellen öffnen,
>>>> aber keine Daten ändern oder gar Datensätze löschen. Die Tabellen
>>>> lassen
>>>> sich nicht zum Bearbeiten der Daten freigeben, das Symbol dafür ist
>>>> auch
>>>> grau. Da müßte vielleicht eine aktuelle Version her, aber woher und
>>>> habe
>>>> ich dann die aktuellen Treiber?
>>> Das ist auch das Verhalten, wenn die Tabellen keinen Primärschlüssel
>>> haben. Prüfe das erst einmal!
>> Deine Vermutung geht wohl in die richtige Richtung. Ich habe zwar einen
>> Index, der auch ohne Fehlermeldung angenommen wurde. Der Index ist
>> eindeutig, in allen Datensätzen sind die Felder gefüllt und es gibt auch
>> keine Doppelungen. Sollte also gehen. Allerdings ist das Indexfeld ein
>> Textfeld, da vermute ich den Fehler.
> Ein Textfeld ist kein Problem, aber ein Primärschlüssel ist mehr als
> ein eindeutiger Index (davon könnte es mehrere geben), er ist der
> Schlüssel, der für das DB-System den Datensatz eindeutig identifiziert. 

Das war's. Ich habe das Feld jetzt als Primärschlüssel eingerichtet, und
es funktioniert.

Das ist aber in Base etwas unglücklich eingerichtet: Der Primärschlüssel
wird zwar im Indexentwurf angezeigt, wenn er vorhanden ist, läßt sich
dort aber nicht einrichten! Das gehört doch aber zusammen?

> Der Sinn ist, dass dieser Schlüssel nie geändert werden sollte, weil
> er zur Referenzierung aus anderen Tabellen dient. Bsp.: Personalnummer
> wäre mit einiger Sicherheit (aber siehe unten) ein Primärschlüssel,
> die Renten-Id oder Steuernummer wären wohl eindeutige Schlüssel,
> dienen aber in der Personalverwaltung nicht zur Referenzierung von
> anderen Tabellen (Gehaltszahlungen, Anwesenheiten,
> Fortbildungsinfos...). Man verwendet daher, weil man ja bei Schlüsseln
> mit Bedeutung nicht hundertprozentig sicher sein kann, ob er nicht
> doch einmal geändert wird, auch meist automatisch vom Datenbanksystem
> vergebene Schlüssel, die absolut keine Bedeutung haben; die sind dann
> auch numerisch, weil das vorgesehene Verfahren einfach das Hochzählen
> ist. Bei meiner Personalnummer gab es übrigens tatsächlich eine
> Neuvergabe, weil das im ganzen Konzern zusammengeführt werden sollte;
> das ist dann eine größere Aufgabe.
> Ich habe es ausprobiert: wenn du eine Tabelle anlegst, wirst du beim
> Speichern nach dem Primärschlüssel gefragt: du kannst einen generieren
> lassen, das wird aber ein neues Feld, oder das abbrechen und die
> gewünschte(n) Spalte(n) als Primärschlüssel definieren, indem du sie
> anklickst (ab der zweiten mit Umschalt-/Shift-Taste) und dann über das
> Kontextmenü (rechte Maustaste) Primärschlüssel wählst.
> Blöderweise sagt der genannte Hinweis beim Speichern, dass du auch
> statt eines Primärschlüssels einen eindeutigen Index anlegen kannst.
> Da lässt sich zwar die Tabelle speichern, aber die Verwaltung geht
> nicht, das ist in LibO so verlangt. Das ist also keine Eigenheit von
> Firebird, das passiert genauso mit der alten HSQLDB oder einer
> externen DB wie MySQL/MariaDB oder PostgreSQL.
> Den Unterschied erkennst du, indem du die Tabelle zum Bearbeiten
> öffnest: beim Primärschlüssel wird ein Schlüsselsymbol im Kopf der
> Spalte angezeigt, beim eindeutigen Schlüssel nicht, da musst du auf
> den Indexentwurf gehen und einen Index anklicken, um zu sehen, welche
> Spalten im Index stecken.
> Wenn du da keinen Schlüssel angezeigt siehst, dann musst du erst den
> alten Index löschen, bevor du den Primärschklüsssel vergibst, sonst
> bekommst du eine Fehlermeldung (das dürfte auch eine Schwäche von Base
> sein).
Die Fehlermeldung kam nicht, ich hatte Primärschlüssel und Index auf dem
selben Feld und konnte Datensätze bearbeiten oder löschen. Nachdem ich
das ausprobiert hatte, habe ich den Index gelöscht.
> Wenn es daran nicht liegt, dann habe ich spontan keine Idee. Aber du
> kannst ja dann mal das gleiche in einem neuen Testdokument mit einer
> HSQLDB machen und schauen, ob da das gleiche passiert, das wäre ein
> Hinweis.
>
> Gruß
>
> Gerhard

Danke

Thomas




-- 
Liste abmelden mit E-Mail an: [email protected]
Probleme? 
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Antwort per Email an