Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bericht soll mit Hilfe eines Formulars gefiltert werden

Begonnen von silentwolf, April 09, 2011, 15:59:51

⏪ vorheriges - nächstes ⏩

pahiti78

Hallo Beaker,

danke für die Info. Was beduetet die Anweiosung DeinForms!??
Gruß
Matze

Beaker s.a.

Hallo Pahiti,

Zitatdanke für die Info. Was beduetet die Anweiosung DeinForms!??

Das ist keine Anweisung, sondern der Bezug auf Dein Formular. Ich kann ja nicht wissen, wie Dein Formular heisst.
Mir ist da aber gerade auch noch eine Fehler aufgefallen (obwohl ich glaube, dass Access den selber korrigieren würde):

UmsatzHoch: [FeldMitUmsatz]*(1+(Nz(Formulare!NameDeinesFormulars!DeinAufschlagfeld,0))

Jetzt klarer?

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,


das ist eigentlich gar kein Fehler, sondern sogar besser, bzw. richtig, "Forms" anstelle "Formulare" im Abfrageentwurf zu schreiben, auch wenn Access das in Folge rückwärts wieder in der Abfrageentwurfs-Ansicht "eindeutscht".    In dem dahinterliegenden SQL-String MUSS "Forms" stehen, nicht "Formulare" , weil dies der SQL-Interpreter nicht auflösen kann. So "schlau" ist die Übersetzungsfunktionalität von Access auch wieder nicht, dass es ( auf deutsch eingegebenes )  "Formulare" im Hintergrund in "Forms" umwandelt.



pahiti78

Hallo,

sorry aber ich krieg es nicht gebacken. So sieht jetzt meine Prozedur aus, welche beim Klicken auf den Filterknopf angewandt werden soll. Im Feld txtPreiserhöhung habe ich standardmäßig 100% hinterlegt, so dass ersteinmal der richtige Umsatz gezeigt wird. Dann möchte ich mir diesen durch Klicken erhöhen lassen. Danke schonmal vorab.

Private Sub btnFilterAnwenden_Click()

Dim strwhere As String
strwhere = "vers_wirklich_kdnr = '" & Nz(Me!txtKundennummer, "*") & "'  and [auftrag_datum]  between " & Format(Nz(Me!txtAnfDatum, #1/1/1900#), "\#yyyy-mm-dd\#") & " and  " & Format(Nz(Me!txtEndDatum, #12/31/2099#), "\#yyyy-mm-dd\#") & [Umsatz]*(1+(Nz(Formulare!frm_kundenfilter!txtPreiserhoehung,0))


DoCmd.OpenReport "rp_Sendungsstatistik", acPreview, , strwhere
End Sub
Gruß
Matze

database

Hallo,

mal abgesehen davon, dass da eine schließende Klammer am Ende fehlt,

& [Umsatz]*(1+(Nz(Formulare!frm_kundenfilter!txtPreiserhoehung,0)))

hat die Anweisung eigentlich nix in der Where-Klausel zu suchen - sie beirkt nichts, ausser dass die Klausel nicht funktioniert.
Diese Anweisung kannst du bestenfalls in der Abfrage einbauen, die als Datenherkunft für den aufgerufenen Bericht dient (siehe letzte Antwort von Beaker).

und wenn das Feld txtKundennummer leer ist, kann ich mir nicht vorstellen, dass du damit Daten geliefert bekommst
"vers_wirklich_kdnr = '" & Nz(Me!txtKundennummer, "*") & "'

Es sei denn es existiert eine Kundennummer die * lautet

Beaker s.a.

Hallo pahiti,

ZitatIm Feld txtPreiserhöhung habe ich standardmäßig 100% hinterlegt, so dass ersteinmal der richtige Umsatz gezeigt wird.

Wenn Du in der Feld für die Preiserhöhung 100% eingibst verdoppelst Du den Preis.

Zitatstrwhere = "vers_wirklich_kdnr = '" & Nz(Me!txtKundennummer, "*") & "'  and [auftrag_datum]  between " & Format(Nz(Me!txtAnfDatum, #1/1/1900#), "\#yyyy-mm-dd\#") & " and  " & Format(Nz(Me!txtEndDatum, #12/31/2099#), "\#yyyy-mm-dd\#") & [Umsatz]*(1+(Nz(Formulare!frm_kundenfilter!txtPreiserhoehung,0))

Hast Du dir den String mal im Direktfenster ausgeben lassen?
Mach das mal, dann wirst Du sehen, dass da ausser der fehlenden Klammer am Ende noch ein paar "," und ")" verschoben sind.
Und, wie Peter schon schrieb, gehört das berechnete Feld nicht in die Filterbedingung für den Bericht, sondern in die Datenherkunft des Berichts (das was dann anschliessend gefiltert wird).

ZitatDann möchte ich mir diesen durch Klicken erhöhen lassen

Soll das jetzt fest gespeichert werden? Ich dachte, dass soll nur im Bericht angezeigt werden, oder im Formular?

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)