Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: pahiti78 am Oktober 07, 2012, 12:50:45

Titel: Problem mit Aggregatfunktion in Abfrage
Beitrag von: pahiti78 am Oktober 07, 2012, 12:50:45
Hallo Zusammen,

ich habe eine Abfrage, welche mir die Prozesskosten in Abhängigkeit von Lohnkosten und Prozessbenschmark liefern soll.
Da sich die Lohnkosten von Jahr zu Jahr ändern, werden diese in einer Tabelle tbl_StammdatenLohnkostenKaufmaennisch eingegeben. Diese Tabelle besitzt zwei Spalten Jahr und Lohnkosten. Eine Funktion soll mir dann die Lohnkosten jeweils pro Jahr liefern und diese dann mit den Benschmarks verrechnen. PS.Das Benchmark auslesen klappt innerhalb der Abfrage.
Ich habe mich dazu entschieden die Lohnkosten aus der Tabelle mittels DFirst Methode zu ermitteln. Meine Funktion hierzu sieht folgendermaßen aus.

Public Function AdministrativeKostenPMAbteilung(BJahr As String, Benchmark As String) As Currency
Dim dblLohnkosten As Double
Dim strJahr
strJahr = [BJahr]
dblLohnkosten = DFirst("Lohnkosten", "tbl_StammdatenLohnkostenKaufmaennisch", "Jahr= strJahr")
'Lohnkosten definiert in Tabelle tbl_StammdatenLohkostenKaufmaennisch in Abhängigkeit vom JAhr'
AdministrativeKostenPMAbteilung = Benchmark / 9600 * dblLohnkosten
End Function

Die Funktion liefert allerdings keinen Wert bzw. nicht den richtigen.
Kann mir jemand helfen?
Ich danke euch.
Titel: Re: Problem mit Aggregatfunktion in Abfrage
Beitrag von: DF6GL am Oktober 07, 2012, 13:56:47
Hallo,

ohne auf diese undurchsichtige Berechnug einzugehen, ist mindestens hier der Pudel begraben:

Dim curlLohnkosten As Currency
Dim lngJahr  as Long
lngJahr = nz(Me![BJahr],Year(Date))
curLohnkosten = DFirst("Lohnkosten", "tbl_StammdatenLohnkostenKaufmaennisch", "Jahr= " & lngJahr)