Hallo, habe folgende DSum Berechnung konstruiert um zwei Kriterien zu verwenden. Leider ist das Ergebniss fehlerhaft, die Verknüpfung der zwei Kriterien durch „AND“ wird nicht beachtet?!
For Feld = 1 To 10
…
Summe = Nz(DSum(Bezeichnung & „* ZHonorar / 1000“, „Tourenabfrage“, "T1WurfA " & Feld & " AND T1WurfB " & Feld))
…
Next Feld
Es kommt zwar keine Fehlermeldung aber wenn „T1Wurf 1 UND T1WurfB 1“ geprüft wird, stimmt es nicht
Geht DSum mit zwei verknüpften Kriterien nicht?
Hallo, habe folgende DSum Berechnung konstruiert um zwei
Kriterien zu verwenden. Leider ist das Ergebniss fehlerhaft,
die Verknüpfung der zwei Kriterien durch „AND“ wird nicht
beachtet?!
For Feld = 1 To 10
…
Summe = Nz(DSum(Bezeichnung & „* ZHonorar / 1000“,
„Tourenabfrage“, "T1WurfA " & Feld & " AND T1WurfB " &
Feld))
…
Next Feld
Es kommt zwar keine Fehlermeldung aber wenn „T1Wurf 1 UND
T1WurfB 1“ geprüft wird, stimmt es nicht
WAS stimmt nicht?
Bist Du sicher , dass die beiden Bedingungen mit „And“ zu verknüpfen sind?
Geht DSum mit zwei verknüpften Kriterien nicht?
Es gibt kein Problem damit…
Was soll dieser Code überhaupt bewirken?
For Feld = 1 To 10
'Anschliessend wird die „Summe“ 10 mal berechnet, aber hat am Ende der Schleife den Wert des 10. Durchgangs.
Summe = Nz(DSum(Bezeichnung & „* ZHonorar / 1000“,
„Tourenabfrage“, "T1WurfA " & Feld & " AND T1WurfB " &
Feld))
Next Feld
…Bezeichnung & „* ZHonorar / 1000“…
soll damit die VBA-Variable „Bezeichnung“ (welchen Datentyp hat die?) mit dem Tabellenfeld „ZHonorar“ des gerade akt. Datensatzes multipliziert und danach das Ergebis durch 1000 geteilt werden?
Vermutlich sind solche Berechnungen mit VBA-Variablen ausserhalb von Dsum besser angebracht.
Welchen Datentyp haben T1WurfA und T1WurfB in der Tabelle und wie ist „Feld“ deklariert?
der Code ist nur ein Schnipsel aus einem größeren Komplex! Mit einem Kriterium klappt die Abfrage aber sobald ich das „AND“ verwende scheint er willkürlich zu berechnen…
Es wird damit wie folgt ein Honorar für Zeitungszusteller berechnet:
„Bezeichnung“ ist ein Feldname wo eine Anzahl drin steht
„ZHonorar“ ist der Verdienst einer Person gerechnet auf 1000 Exemplare
„Tourenabfrage“ ist die Tabelle mit den relevanten Personen
„T1WurfA“ ist ein Feld, welches anzeigt ob gerechnet werden soll oder nicht
„T1WurfB“ ist identisch
Wenn in T1WurfA und T1WurfB ein Wert steht der mit dem aktuellen Schleifendurchlauf nicht übereinstimmt, dann soll gerechnet werden, sonst nicht. Habe aber das Phänomen das er trotzdem rechnet
Ist schwer zu erklären, aber mit einem Kriterium klappt es super. Auch wenn ich mein DSum zweimal laufen lasse so wie hier: