Neuigkeiten:

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

Mobiles Hauptmenü

Abfrage wie SVerweis in Access

Begonnen von Verfahrensingenieur25, August 23, 2022, 13:30:30

⏪ vorheriges - nächstes ⏩

Verfahrensingenieur25

Hallo zusammen,
ich habe folgendes Problem in meiner Access Datenbank (siehe Anhang, Daten sind nur beispielhaft)
Sie dürfen in diesem Board keine Dateianhänge sehen.
Jedem Datensatz in Tabelle B ("Datensatz 1") sind zwei Buchstaben aus der Tabelle A ("Buchstabe 1", "Buchstabe 2") zugeordnet. In der Tabelle A hat jeder Buchstabe eine weitere zugeordnete Zahl ("Beispielzahl"). Diese "Beispielzahl" möchte ich in einer Access/SQL-Abfrage abhängig nach dem eingetragenen Buchstaben in Tabelle B übertragen, um daraus zwei weitere Zahlen zu berechnen ("Berechnetes Feld1" und "Berechnetes Feld2"). Es kann vorkommen, dass "Buchstabe 1" ODER "Buchstabe 2" leer bleiben.

Falls das Beispiel noch unklar ist, bitte nachfragen. Mein Ansatz bisher:

SELECT TabelleB.*, TabelleA.Beispielzahl AS Zahl 1, TabelleA.Beispielzahl AS Zahl 2,
FROM TabelleA, Tabelle B
WHERE TabelleB.Buchstabe1 = TabelleA.Buchstabe AND TabelleB.Buchstabe2 = TabelleA.Buchstabe;

Leider hat das nicht geklappt. Vielleicht weiß ja jemand von euch weiter.

Vielen Dank im Voraus!

MzKlMu

Hallo,
vermutlich ist das für Access schon ein falscher Aufbau. Wer SVerweis braucht oder glaubt es brauchen zu müssen hat meist was falsch gemacht. Erkläre mal die Zusammenhänge genauer.
Gruß Klaus

Verfahrensingenieur25

#2
Zitat von: MzKlMu am August 23, 2022, 13:46:46Erkläre mal die Zusammenhänge genauer.
Ich habe eine Tabelle (tblApparate), in der verschiedene Apparate aufgelistet sind (Spalten: Bezeichnung, Volumen, Werkstoff, Wasseranschluss etc.). Als Beispiel können wir hier eine einfache Wanne nehmen. Diese besteht aus Stahl, hat 300 L Fassungsvermögen und einen Wasseranschluss mit Durchmesser 50 mm. In einer anderen Tabelle (tblPumpen) sind Wasserpumpen aufgelistet (Spalten: Bezeichnung, Strömungsgeschwindigkeit etc.).Es gibt die Pumpen A, B und C mit jeweils unterschiedlichen Strömungsgeschwindigkeiten und anderen Eigenschaften.

Es kommt vor, dass pro Apparat mehrere Pumpen im Einsatz sind (z.B. für die Wanne Pumpe A mit 5 m/s Strömungsgeschwindigkeit). Um nun von diesen Pumpen den Volumenstrom auszurechnen muss ich, den entsprechenden Durchmesser des Wasseranschlusses des Apparats aus tblApparate mit der entsprechenden Strömungsgeschwindigkeit aus tblPumpen verrechnen.

Um mir diese Rechnung zu erleichtern und fehlerhafte Ergebnisse zu vermeiden möchte ich diese Strömungsgeschwindigkeit aus tblPumpen in einer Abfrage mit tblApparate darstellen. Dazu würde ich in Excel einen SVerweis oder XVerweis nutzen. Ich weiß, dass dadurch Datenredundanz entsteht, aber das nehme ich für die geringere Fehlerwahrscheinlichkeit in Kauf.


Kurzfassung:
Ich möchte jedem Apparat in einer tblApparate eine entsprechende Strömungsgeschwindigkeit für eine dem Apparat zugeordnete Pumpe A, B, C zuweisen, die in tblPumpen beschrieben ist. In Excel würde ich dazu einen SVerweis oder XVerweis nutzen. Wie schaffe ich das in Access/SQL?

Zitat von: MzKlMu am August 23, 2022, 13:46:46Hallo,
vermutlich ist das für Access schon ein falscher Aufbau.
Wenn das nach stimmt, wie könnte ich den Aufbau nach dem Beispiel das ich gegeben habe verbessern?

Danke schonmal!

Beaker s.a.

Hallo,
ZitatIch möchte jedem Apparat in einer tblApparate eine entsprechende Strömungsgeschwindigkeit für eine dem Apparat zugeordnete Pumpe A, B, C zuweisen,
Hört sich nach einer n:m-Beziehung zwischen den beiden an.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

#4
Hallo,
Dein jetziger Aufbau mit den Feldern für Pumpe1 bis Pumpe3 ist falsch. Ich sehe da auch eine n:m Beziehung. Es können so einem Apparat eine oder mehrere Pumpen zugeordnet werden.
Mit einer Abfrage kann der Volumenstrom direkt berechnet werden. Da braucht es keinen SVerweis, das lässt sich alles problemlos realisieren.

Du brauchst also 3 Tabellen.
- Apparate
- Pumpen
- ApparatPumpen

In der 3. Tabelle gibt es jeweils ein Fremdschlüssel zur Pumpe und einen zum Apparat.
Es müssen im Beziehungsfenster entsprechende Beziehungen eingerichtet werden, mit refentieller Integrität.

In einer Abfrage mit den 3 Tabellen stehen in jedem Datensatz die zur Berechnung relevanten Felder direkt zur Verfügung.

PS:
Es ist mir immer wieder ein Rätsel, warum derart abstrakte Beispiele erfindet und nicht gleich die realen Bedingungen schildert. Mit dem abstrakten Beispiel konnte ich nichts anfangen.
Gruß Klaus