Access bzw. SQL Daten verbinden
Guten Abend in das Forum.
Ich habe ein Problem bei der Erstellung einer Abfrage in Access, bei dem ich nicht weiter gekommen bin. Die Suche hier und bei Google hat mich leider auch nicht weiter gebracht.
Folgende Situation:
Ich habe eine Datenbank, die für die Erstellung von Stromlaufplänen genutzt werden soll. Darin gibt es unter anderem die Tabellen 'tblKabel', 'tblAdern' und 'tblVerbraucher'. Die Tabelle 'Kabel' enthält die Kabelwege und die zugehörigen FI, während die Tabelle 'Adern' Informationen darüber enthält, welcher Verbraucher an welcher Ader ist und über welchen LS diese geführt wird.
Für ein 5-adriges Kabel sieht das ganze z.B. so aus:
Kabel 1
|- UV1 X1 F1 - EG01 Flur -|
|----- L1- F1.1 - S001 Steckdose links
|----- L2- F1.1 - S002 Steckdose rechts
|----- L3- F1.1 - S003 Steckdose mitte
Die genaue Kabelbezeichnung möchte ich nun in der Syntax VON-NACH-VERBRAUCHER erstellen, in dem Beispiel also UV1-X1-F1/EG01/S001-S002-S003 und wieder in die 'tblKabel' schreiben. Da die einzelnen Adern in einzelnen Datensätzen abgelegt sind muss ich also aus drei Datensätzen diese Zeichenfolge generieren. Erschwerend kommt hinzu, dass nicht immer alle Adern belegt sein werden.
Bisher habe ich leider keinen Lösungsansatz gefunden. Ich wäre für Hinweise dankbar.
Marcus
Ich habe ein Problem bei der Erstellung einer Abfrage in Access, bei dem ich nicht weiter gekommen bin. Die Suche hier und bei Google hat mich leider auch nicht weiter gebracht.
Folgende Situation:
Ich habe eine Datenbank, die für die Erstellung von Stromlaufplänen genutzt werden soll. Darin gibt es unter anderem die Tabellen 'tblKabel', 'tblAdern' und 'tblVerbraucher'. Die Tabelle 'Kabel' enthält die Kabelwege und die zugehörigen FI, während die Tabelle 'Adern' Informationen darüber enthält, welcher Verbraucher an welcher Ader ist und über welchen LS diese geführt wird.
Für ein 5-adriges Kabel sieht das ganze z.B. so aus:
Kabel 1
|- UV1 X1 F1 - EG01 Flur -|
|----- L1- F1.1 - S001 Steckdose links
|----- L2- F1.1 - S002 Steckdose rechts
|----- L3- F1.1 - S003 Steckdose mitte
Die genaue Kabelbezeichnung möchte ich nun in der Syntax VON-NACH-VERBRAUCHER erstellen, in dem Beispiel also UV1-X1-F1/EG01/S001-S002-S003 und wieder in die 'tblKabel' schreiben. Da die einzelnen Adern in einzelnen Datensätzen abgelegt sind muss ich also aus drei Datensätzen diese Zeichenfolge generieren. Erschwerend kommt hinzu, dass nicht immer alle Adern belegt sein werden.
Bisher habe ich leider keinen Lösungsansatz gefunden. Ich wäre für Hinweise dankbar.
Marcus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 273807
Url: https://administrator.de/forum/access-bzw-sql-daten-verbinden-273807.html
Ausgedruckt am: 14.05.2025 um 14:05 Uhr
4 Kommentare
Neuester Kommentar
Moin,
ich denke, die Abfragen bereiten Probleme, weil der Tabellenentwurf noch nicht richtig ist.
Datenbank-Theorie liefert da tatsächlich schöne Ansätze: wenn Access oder SQL-Server: Relationale DB,
also (Wikipedia: ) Datenbank-Normalformen für ein Problem generieren:
alle Redundanzen werden rausgeworfen.
Die Verbindungen zwischen Tabellen werden mit (umgangssprachlich) "Kreuztabellen" hergestellt, eine Access-Abfrage ist dann "nur" noch eine Feldauswahl aus den bereits in der Beziehungsansicht fest verbundenen Tabellen mit m:n-Beziehungen.
Also in der Art
tblKabel:KID,Kname
tblVerbr:VID,Vname
tblAderUndF:AUFID,AderNr,Fname (AderNr=Byte:1,2 oder 3)
tblAdernUndVerbrUndKabel:AVKID,AUF,V,K : "Kreuztabelle" mit lauter Fremdschlüsseln in die anderen drei Tabellen
IDs immer Autowert, die dann in LongInteger der Fremdschlüssel gespeichert werden.
Beziehungen KID-K, VID-V, AUFID-AUF
qryPlan: PID,Kname,Vname,AderNr,Fname
Kann man mit Access-Nachschlagefunktion zur Eingabe noch hübsch machen, aber das ist schon die ganze Lösung...
HG
Mark
ich denke, die Abfragen bereiten Probleme, weil der Tabellenentwurf noch nicht richtig ist.
Datenbank-Theorie liefert da tatsächlich schöne Ansätze: wenn Access oder SQL-Server: Relationale DB,
also (Wikipedia: ) Datenbank-Normalformen für ein Problem generieren:
alle Redundanzen werden rausgeworfen.
Die Verbindungen zwischen Tabellen werden mit (umgangssprachlich) "Kreuztabellen" hergestellt, eine Access-Abfrage ist dann "nur" noch eine Feldauswahl aus den bereits in der Beziehungsansicht fest verbundenen Tabellen mit m:n-Beziehungen.
Also in der Art
tblKabel:KID,Kname
tblVerbr:VID,Vname
tblAderUndF:AUFID,AderNr,Fname (AderNr=Byte:1,2 oder 3)
tblAdernUndVerbrUndKabel:AVKID,AUF,V,K : "Kreuztabelle" mit lauter Fremdschlüsseln in die anderen drei Tabellen
IDs immer Autowert, die dann in LongInteger der Fremdschlüssel gespeichert werden.
Beziehungen KID-K, VID-V, AUFID-AUF
qryPlan: PID,Kname,Vname,AderNr,Fname
Kann man mit Access-Nachschlagefunktion zur Eingabe noch hübsch machen, aber das ist schon die ganze Lösung...
HG
Mark
Nun es wurde ja schon gesagt das der Aufbau der Tabelle noch was geändert werden muss...
Dazu Fehlt aber auch bei der Leitung/Ader noch Abzeigdosen,Querschnit, Länge...Was für eine Absicherung es ist ect
Aber eigentlich kann sowas schon ein gutes Programm zum Zeichnen des Plans.
Wobei wenn du es als Webseite machst könntes die Info auch im Betrieb vom Smartphone Abrufen und nachschauen vor Ort...
Dazu Fehlt aber auch bei der Leitung/Ader noch Abzeigdosen,Querschnit, Länge...Was für eine Absicherung es ist ect
Aber eigentlich kann sowas schon ein gutes Programm zum Zeichnen des Plans.
Wobei wenn du es als Webseite machst könntes die Info auch im Betrieb vom Smartphone Abrufen und nachschauen vor Ort...