Problem mit Beziehungen

Moin!!

Ich merke gerade, dass mein Access-Kurs nun doch schon einige Jahre zurückliegt. Ich finde nämlich einfach keine Lösung…

Ich habe eine Tabelle mit Artikeln. Manche davon haben einen fest definierten Preis, andere wiederum nicht, da sie pauschal im Einzelfall festgelegt werden.

In einer Tabelle „Rechnung“ habe ich ein Dropdown-Feld mit den o.g. Artikeln. Nun möchte ich, dass

  • der Preis (wenn vorhanden) in ein weiteres Feld der Tabelle „Rechnung“ übernommen wird,

  • dieser dann aber noch änderbar ist.

Wie kriege ich das hin?

Ich habe dazu momentan einfach eine Beziehung von „Artikel-Nr.“ zu „Rechnung_Artikel1“ und von „Artikel_Preis“ zu „Rechnung_Artikel1_Preis“ gesetzt. Das klappt aber nicht.

What to do?

Schon mal Danke,
n.

Nun gut… ich habe meinen ersten logischen Fehler eingesehen… ;o)

Ich habe für die Rechnungen nun zwei Tabellen. Einmal den „Rechnungskopf“ und einmal die „Rechnungszeilen“. Das hatte ich vorher nicht.

Meine Beziehungen sehen nun so aus: Screenshot.
Ich möchte nun in einem Formular für die Rechnungszeilen im Feld REZ_Preis den jeweiligen Wert aus Art_Nettopreis als Standardwert setzen.

Das versuche ich momentan mittels
=DomWert(„Art_Nettopreis“;„Artikel“)
Dann nimmt er allerdings immer den Nettopreis von Artikel-Nr. 1.

Wie kann ich es erreichen, dass er nach Auswahl der Artikel-Nr. im Formular „Rechnungszeilen“ immer den jeweiligen „Art_Nettopreis“ als Standardwert in das Feld „REZ_Preis“ übernimmt, so dass ich dieses bei Bedarf noch verändern kann?

LG n.

Hallo,

nimm erst mal die Beziehung der Preisfelder von Artikel zu Rechnungen_Zeile weg.

dann beim Standardwert:

=DomWert(„Art_Nettopreis“;„Artikel“;"[Art_Artikel-Nr]= " & [Rez_Artikel-Nr])

Besser wäre aber ein Kombifeld mit Basis zu Artiekl einzubauen, das die Auswahl des Artikels erlaubt und dann die Preis an das (Formular)-Preisfeld übergibt:

Sub Rez_Artikel-Nr_Afterpdate()
Me![REZ_Preis] = Me![REZ_Artikel-Nr}.Column(1)
End Sub

Mit Datensatzherkunft für das Kombi:

Select [Art_Artikel-Nr],[Art_Nettopreis] from Artikel

BTW: Auf Sonderzeichen (hier „-“ ) in den Namen DRINGEND verzcihten!

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

moin!!

schon mal danke!! jetzt aber eine anfängerfrage: wo packe ich das hin?

Sub Rez_Artikel-Nr_Afterpdate()
Me![REZ_Preis] = Me![REZ_Artikel-Nr}.Column(1)
End Sub

und falls jemand zeit hat, hätte ich auch gerne erklärt was da passiert. will ja schließlich lernen… ;o)

lg n.

Hallo,

schon mal danke!! jetzt aber eine anfängerfrage: wo packe ich
das hin?

Im VBA-Editor in die Ereignisprozedur des „Nach Aktualisieren“-Ereignisses des Kombifeldes.

Sub Rez_Artikel-Nr_Afterpdate()
Me![REZ_Preis] = Me![REZ_Artikel-Nr}.Column(1)
End Sub

und falls jemand zeit hat, hätte ich auch gerne erklärt was da
passiert. will ja schließlich lernen… ;o)

Na, Du hast ja auch nicht nach einem Einführungkurs gefragt…

Du brauchst doch nur den Code zu lesen…

Sobald das Nach-Akualisierung-Ereignis eintritt, wird dem Feld „Me![REZ_Preis]“ der Wert aus der 2.(!, Zählung beginnt bei 0 ) Spalte der Kombifeld-Liste zugewiesen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!