Hallo,
Der Ausdruck steht auf einem Access Bericht in einem Textfeld
und gilt dort als Devisor um einen durchschnitt zu ermitteln.
in welchem Bereich?
Ich brauche also die Anzahl der Monate wo bereits eine Angabe
über die Orderanzahl existiert, um eine Quote zu errenen.
bisher steht dort immernoch: „Fehler#“
obwohl ich schon die Zeitraum Bezeichnungen (‚Januar
2011‘;…)alle mit kopie an paste überschrieben habe um bei
der Schreibweise keine Fehler zu machen.
Das mit dem Format meinst Du sicherlich als Long integer -
oder ?
Nein, ich meine DATENTYP Long Integer. (Format und Datentyp sind zwei eklatant unterschiedliche Dinge.)
Erstell mal für den Bericht eine Ereignisprozedur „Beim Öffnen“ und schreib dort hinein (nur Msgbox…)
Sub Report_Open (…)
Msgbox DCout("*",„Ordervolumen“,"[Zeitraum] in (‚Januar
2011‘,‚Februar 2011‘,‚März 2011‘,‚April 2011‘,‚Mai 2011‘,‚Juni
2011‘,‚Juli 2011‘,‚August 2011‘,‚September 2011‘,‚Oktober
2011‘,‚November 2011‘,‚Dezember 2011‘) and nz(Orderanzahl,0) 0 ")
End Sub
Neben Msgbox setzt Du einen Haltepunkt.
Wenn der Bericht geöffnet wird, bleibt der Code bei der Msgbox stehen.
Im Direktfenster könntest Du nun auch „spielen“ und mit
?DCout("*",„Ordervolumen“,"[Zeitraum] in (‚Januar
2011‘,‚Februar 2011‘,‚März 2011‘,‚April 2011‘,‚Mai 2011‘,‚Juni
2011‘,‚Juli 2011‘,‚August 2011‘,‚September 2011‘,‚Oktober
2011‘,‚November 2011‘,‚Dezember 2011‘) and nz(Orderanzahl,0) 0 ")
(Fragezeichen beachten!)
den Rückgabewert de Dcount-Funktion testen. Dabei würde ich erste das Kriterium entfernen und nacheinander wieder aufbauen, um die eigentliche Ursache zu finden:
?DCout("*",„Ordervolumen“)
sollte die Anzahle der DS insgesamte liefern
?DCout("*",„Ordervolumen“,"[Zeitraum] in (‚Januar
2011‘))
und dises nur die, die Januar 2011 im Feld Zeitraum aufweisen.
Viele Grüße vom Bodensee
Franz, DF6GL