Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

DoCmd.OpenReport - wherecondition verwenden mit Kriterien für mehr als ein Feld

Begonnen von Pergus, Mai 18, 2011, 20:53:07

⏪ vorheriges - nächstes ⏩

Pergus

Hallo an alle Access-Freunde!

Nach längerer Zeit melde ich mich wieder mit einem "Problemchen"!

Habe eine so gut wie fertige Vereins-Datenbank und teste sie gerade auf Herz und Niere! So weit so gut... alles funktioniert einwandfrei (durch Eure großartige Hilfe!).

:o Doch nun...  :o gebe ich diese Datenbank einem Kollegen zu testen, der Access nicht auf seinem Rechner hat und dieser sollte sie mit der AccessRuntime.exe testen. Interessanterweise kann diese keine Kriterien aus Abfragen übernehmen !?!  :'(

Wähle ich z.B.: aus einem Kombifeld ein Jahr (das in einer Abfrage als Kriterium steht!) aus, öffnet sich ein Fenster "Enter Parameter Value" und verlangt genau nach dem, in der Abfrage stehendem Kriterium, das dann per Hand in ein Textfeld eingetippt werden soll!

Nun habe ich folgendes versucht:

...
Dim strWHERE    As String

strWHERE = "Jahr=" & Me!Jahr_Kombinationsfeld
DoCmd.OpenReport "meinBericht", acPreview, , strWHERE, acWindowNormal, True
...


Funktioniert einwandfrei auch mit der Runtime!

Nun stellt sich mir folgendes Problem: In einer Abfrage eines Berichts brauche ich 3 Felder als Kriterium, und zwar Jahr, Monat und StempelungsgrundID.

Die ersten zwei Kriterien habe ich recht einfach gelöst, indem ich in der Abfrage ein neues Feld erzeugt habe, und zwar so:

JahrMonat: Format([DatumVon];"jjjj") & Format([DatumVon];"mm")

Die Code dazu:

...
Dim strWHERE    As String

strWHERE = "JahrMonat=" & Me!Jahr_Kombinationsfeld & Me!Monat_Kombinationsfeld
DoCmd.OpenReport "meinBericht", acPreview, , strWHERE, acWindowNormal, True
...


Das dritte Kriterium hingegen muß als StempelungsgrundID immer die Zahl 3 haben.

??? Kann ich mit DoCmd.OpenReport das Argument wherecondition verwenden mit Kriterien für mehr als ein Feld?  ???

In dieser Hilfe steht, dass es möglich sei, aber nicht wie:

Access 2007-Entwicklerreferenz > Schrittweise Anleitungen für Access 2007 > Formulare > EreignisseVorgehensweise: Anwenden eines Filters beim Öffnen eines Formulars oder Berichts

Bin für jede Hilfe dankbar!!!

Gruß aus Südtirol

Pergus

Win7, Office Professional 2010

Pergus

Hab´s geschafft !

Lösung dazu:

...
Dim strWHERE    As String

strWHERE = "JahrMonat=" & Me!Jahr_Kombinationsfeld & Me!Monat_Kombinationsfeld & " AND StempelungsgrundID= 3"
...


Siehe hier:

http://www.access-o-mania.de/forum/index.php?topic=7840.0

Danke an DF6GL, ein wahrer Access-Gott !  8)

Gruß

Pergus
Win7, Office Professional 2010