Mit nachgeschlagenen Feldern rechnen

Hallo,

Eine Tabelle meiner Access-Datenbank enthält ein Nachschlagefeld, welches sich auf eine Tabelle mit Primärschlüssel bezieht. Die verknüpfte Spalte ist der Primärschlüssel. Ich möchte nun mit nachgeschlagenen Einträgen rechnen, aber es wird logischerweise die verknüpfte ID in den Rechenfunktionen verwendet. Wie kann ich Access anweisen, ein anderes als das verknüpfte Feld für Verarbeitungen zu verwenden?

Bsp:

Tbl1 mit

IDPosten zB 1
Beschreibung zB Schraube
PreisNetto zB 1,00€
MwStKlasse zB 19%

Die MwStKlasse wird aus der Tabelle Tbl2 nachgeschlagen

Tbl2 mit
IDMwStKlasse zB 1
MwStKlasse zB 19%

qry1 mit
IDPosten zB 1
PreisNetto zB 1,00€
MwStKlasse 1 (=19%)
Brutto: [PreisNetto]*[MwStKlasse]
Ergebnis ist 1,00€, aber es sollte natürlich 1,19€ sein.

Ich hoffe, anhand des Beispiels wirds klar…

Danke im Voraus für die Hilfe!!!

LG

Benjamin

Hallo

Wirf zunächst die Nachschlagefelder aus der/den Tabelle/n heraus…

Sodann erstelle ein Abfrage über beide Tabellen und verknüpf über die (richtigen) Schlüsselfelder.

Alternativ sollest Du Berechnungen dieser Art in Formularen erledigen und dort mit Kombifeldern arbeiten und auf deren Column()-Eigenschaft verweisen oder die Werte mittels Dlookup()-Funktion aus der anderen Tabelle auslesen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

oh Mann, das war jetzt ein harter Weg…

Ich hatte so an die 20 Tabellen und in den meisten wurde fröhlich nachgeschlagen. Meine Datenbank ist nun völlig neu strukturiert und die Berechnungen klappen. Danke also soweit erstmal.

Im Verlauf bin ich nun auf ein Folgeproblem gestoßen, welches ich der Kürze halber als Beispiel erkläre:

In der Tabelle „liBehandlung“ liegt das verknüpfte Feld „liIDMitarbeiter“ vor, welches auf die Tabelle „tblMitarbeiter“ verweist. Wird nun kein Mitarbeiter angegeben (was oft auch nicht nötig ist), erscheint der komplette Datensatz in der entsprechenden Abfrage nicht.
Wie kann ich eine Abfrage gestalten, die in diesem Fall alle Datensätze, also auch die ohne angegebenen Mitarbeiter, anzeigt?

Danke also auch im Voraus…

LG

Benjamin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Benjamin,

In der Tabelle „liBehandlung“ liegt das verknüpfte Feld
„liIDMitarbeiter“ vor, welches auf die Tabelle
„tblMitarbeiter“ verweist.

das Feld selbst verweist nicht. In einer Beziehung kannst du diese Felder in Beziehung setzen.

Dort liegt auch dein „Fehler“, da diese Beziehung vermutlich eine n:1 ist und in beiden ein Wert vorhanden sein muss?

Könntest du mal den SQL-Code deiner Abfrage hier posten?
Dann kann man dir einfacher helfen!

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo netwolf,

entschuldigung wegen der Verzögerug im Feedback. Ich hab das Problem der Darstellung ‚leerer‘ Felder in einer Abfrage durch Spezifizierung der Verknüpfungseigenschaften der Abfrage gelöst.

Danke trotzdem für die Hilfe!

LG

Benjamin

PS: Ich hab natürlich wieder ein neues Problem, welches aber nicht verwandt ist und daher getrennt gepostet wird.

Hallo Benjamin,

In der Tabelle „liBehandlung“ liegt das verknüpfte Feld
„liIDMitarbeiter“ vor, welches auf die Tabelle
„tblMitarbeiter“ verweist.

das Feld selbst verweist nicht. In einer Beziehung kannst du
diese Felder in Beziehung setzen.

Dort liegt auch dein „Fehler“, da diese Beziehung vermutlich
eine n:1 ist und in beiden ein Wert vorhanden sein muss?

Könntest du mal den SQL-Code deiner Abfrage hier posten?
Dann kann man dir einfacher helfen!

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)