Access-o-Mania

Datenbanken (Deutsch/German) => MySQL => Thema gestartet von: Markus Beck am September 23, 2022, 07:37:50

Titel: Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen
Beitrag von: Markus Beck am September 23, 2022, 07:37:50
Hallo liebe Wissende

Ich habe eine Tabelle im SQL Server die ich nach Access verknüpfe via ODBC (Siehe Bild im Anhang).
Funktioniert ohne Probleme.

Was ich leider bisher nicht gefunden habe ist die Eigenschaft "Beschriftung" welche es in den Tabellen in Access gibt.
Also jene Eigenschaft welches an Stelle des Feldnamens als Spaltentitel angezeigt wird.
Ich habe es in der Verzweiflung mit "Description" versucht, aber das geht leider auch nicht.

Was ich herausgefunden habe ist, dass ich die verknüpfte Tabelle in Access (trotz gegenteiliger Warnung) bearbeiten kann und "Beschriftung" mit dem gewünschten Namen versehen kann. Leider kommt es vor, dass ich gelegentlich die Verknüpfung löschen und wieder neu erstellen muss, bzw. dass ich die gleiche Tabelle auch in einer anderen Access-Anwendung verwende. Somit muss ich "Beschriftung" jedes mal neu nachtragen und das kann es ja eigentlich nicht sein oder.

Hat hier jemand einen Lösungsansatz?

Vielen Dank im Voraus!
Markus
 
Titel: Re: Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen
Beitrag von: markusxy am September 23, 2022, 08:54:36
Zitat von: Markus Beck am September 23, 2022, 07:37:50Hat hier jemand einen Lösungsansatz?

Bis jetzt verwende ich das persönlich nicht.

Aber der Logik folgend:
Du musst den Text ja irgendwo hinterlegen.
Wenn es bei mysql in der Tabelle dafür keine Möglichkeit gibt, musst du eine solche schaffen.
Danach einen Code schreiben, der beim Anlegen der Verknüpfung die Überschriften hinzufügt.
Ist also mehr als 5 Minuten Arbeit.
Titel: Re: Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen
Beitrag von: PhilS am September 23, 2022, 09:40:16
Zitat von: Markus Beck am September 23, 2022, 07:37:50Somit muss ich "Beschriftung" jedes mal neu nachtragen und das kann es ja eigentlich nicht sein oder.
Doch, leider kann das sein, weil Beschriftung und Beschreibung von Tabellen und Spalten im SQL- und ODBC-Standard nicht vorgesehen sind.

Die von markusxy vorgeschlagene Lösung, die Beschriftungen/Beschreibungen selbst zu speichern und dann durch eigenen Programmcode hinzuzufügen, ist leider die einzige.

Bei MySQL kannst du pro Spalte einen "Comment" ergänzen:
ALTER TABLE deineTabelle CHNAGE COLUMN deineSpalte [Spaltendefinition] COMMENT 'Hier ein Kommentar';
Das entspricht eigentlich der Beschreibung, nicht der Beschriftung, aber da du die Werte eh in deinem Code zuweisen musst, kannst du das entsprechend missbrauchen. Diese Comments werden in information_schema.columns.COLUMN_COMMENT gespeichert und können vor dort ausgelesen werden.

Beim Microsoft SQL Server würde man analog eine Extended Property (siehe sp_addextendedproperty (https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addextendedproperty-transact-sql?view=sql-server-ver16) / fn_listextendedproperty (https://learn.microsoft.com/en-us/sql/relational-databases/system-functions/sys-fn-listextendedproperty-transact-sql?view=sql-server-ver16)) für diese Zwecke verwenden.

PS: Anstelle einer komplett eigenen Lösung die oben angeführten, eingebauten Features der jeweiligen DBMS zu verwenden, hat den Vorteil, dass die Beschreibung/Beschriftung auch in den gängigen Management Tools des DBMS angezeigt werden, wenn man sich die Tabellen auf dem Server anschaut. 
Titel: Re: Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen
Beitrag von: MzKlMu am September 23, 2022, 10:20:27
Hallo,
oder:
Erstelle eine Abfrage in der die Beschriftungen gewechselt werden.
Firmen_ID: FA_IDDer Tabelle auf dem SQL Server gibts Du einen neuen Namen.
Die Abfrage zum Tausch der Feldnamen erhält dann den Namen der bisherigen SQL Server Tabelle.
Alle erstellten Objekte beziehen sich dann automatisch auf die Abfrage statt der Tabelle.
Eine Neuverknüpfung hat dann keinen Einfluss mehr.
Titel: Re: Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen
Beitrag von: ebs17 am September 23, 2022, 11:01:02
Mich persönlich würde es massiv stören, wenn mir ein anderer Name als Feldbezeichnung angezeigt wird als aktuell wirklich vorhanden, weil das massiv ein Verständnis des Ganzen stört. Ich möchte und muss Abfragen verstehen, und da ist es oft anstrengend genug, Verwendung des Datenmodells und Logiken zu analysieren und zu verstehen, da möchte ich nicht zusätzlich suchen müssen, wie denn ein Feld richtig heißt.

Wenn Dir Deine Feldnamen nicht passen, kannst Du in einer aufbauenden Abfrage/View Spaltenaliase verwenden, und ab da heißen die Felder anders (aber immer noch Anzeige = aktueller Name).
Titel: Re: Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen
Beitrag von: Markus Beck am September 25, 2022, 04:11:22
Hallo zusammen
Vielen lieben Dank schon mal für Eure zahlreichen Beiträge.
Ich denke ich versuche es mal mit dem "Missbrauch" von COMMENT, wie von PhilS vorgeschlagen.
Das scheint mir mit einem vernünftigen Aufwand eine nachhaltige Lösung zu ergeben.
Grüsse und ein schönes Wochenende. 
Markus