Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Access-Tabellen-Eigenschaft - "Beschriftung" in MySQL Tabelle erfassen

Begonnen von Markus Beck, September 23, 2022, 07:37:50

⏪ vorheriges - nächstes ⏩

Markus Beck

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
 

markusxy

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.

PhilS

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 / fn_listextendedproperty) 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. 
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MzKlMu

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.
Gruß
Klaus

ebs17

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).
Mit freundlichem Glück Auf!

Eberhard

Markus Beck

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