none
Gefilterten Bericht über Formular öffnen funzt nicht

    Frage

  • Hallo,

    man hat mich gebeten, meinen Beitrag in diesem Forum zu posten, weil man hierauf spezialisiert sei. Es wäre schön, wenn sich jemand meines Problemes annehmen könnte...


    Ich habe folgendes Problem: in einem Formular habe ich Auswahlfelder von-bis als Kombifelder. Wenn dort Werte eingegeben sind, soll über eine Schalfläche der dann nach diesen Feldern gefilterte Bericht geöffnet werden. Der Bericht wird auch geöffnent, allerdings ungefiltert. Der Code lautet:

    Private Sub cmdTelefonlisteWartung_Click()

    Dim strFilterAdGgw As String
    Dim strVonAdGgw As String
    Dim strBisAdGgw As String

    'zur Sicherheit Variablen besetzen
    strVonAdGgw = [VonFilterfeldAdGgw]
    strBisAdGgw = [BisFilterfeldAdGgw]

    'Filter einstellen
    strFilterAdGgw = "[AdGgw] between " & _
    strVonAdGgw & " and " & strBisAdGgw

    'Öffnen Report mit Filterbedigung
    DoCmd.OpenReport "rptWartungTelefonliste", acViewPreview, strFilterAdGgw

    End Sub

    Die Kombifelder sind [VonFilterfeldAdGgw] und [BisFilterfeldAdGgw]. das Feld [AdGgw] ist in der Abfrage enthalten, die hinter den Kombifeldern steht. Was ist heir verkehrt?
    Danke für jede Antwort!!

    Gruß Vera Köhler

    Dienstag, 27. September 2011 08:47

Antworten

  • Hallo Bodgan,

    tut mir Leid, ich hatte immer auf eine eMail gewartet, die mich informiert, das im Forum einer geantwortet hat... Heute habe ich mal wieder selbst nachgeschaut und gesehen, dass wieder Antworten da waren. Leider bin ich noch nicht weitergekommen.

    Den Tipp, die Textfelder in Hochkomma zu setzen, habe ich eingetragen:

    strFilterAdGgw = "[AdGgw] between '" & strVonAdGgw & "' and '" & strBisAdGgw&" '"

    bekomme aber die Meldung: Fehler beim Kompilieren: Erwartet: Anweisungsende

    Nachdem ich noch ein bißchen hin und her probiert habe, habe ich einfach die "echten" Felder eingesetzt und den Code etwas gekürzt:

    Private Sub cmdTelefonlisteWartung_Click()

    Dim strFilterAdGgw As String

    'Filter einstellen; Textfelder müssen in Hochkommata gesetzt werden
    strFilterAdGgw = "[AdGgw] between '" & [VonFilterfeldAdGgw] & "' and '" & [BisFilterfeldAdGgw] & "'"

    'Öffnen Report mit Filterbedigung
    DoCmd.OpenReport "rptWartungTelefonliste", acViewPreview, , strFilterAdGgw

    End Sub

    Jetzt funktioniert es!! Vielen, vielen Dank, ohne Euch hätte ich's wieder nicht geschafft!!!!

    Viele Grüße Vera

    Freitag, 7. Oktober 2011 18:24

Alle Antworten

  • Vera Köhler wrote:
    > ... Der Bericht wird auch geöffnent, allerdings ungefiltert...
    > ...
    > strVonAdGgw = [VonFilterfeldAdGgw]
    > strBisAdGgw = [BisFilterfeldAdGgw]
    >
    > 'Filter einstellen
    > strFilterAdGgw = "[AdGgw] between " & _
    > strVonAdGgw & " and " & strBisAdGgw
    >
    > 'Öffnen Report mit Filterbedigung
    > DoCmd.OpenReport "rptWartungTelefonliste", acViewPreview,
    > strFilterAdGgw
    > ...
     
    Versuch mal:
     
    DoCmd.OpenReport "rptWartungTelefonliste", acViewPreview, , strFilterAdGgw
     
    Also 1 Komma mehr vor strFilterAdGgw.
    Was du erzeugst ist kein gespeicherter Filter sondern eine Bedingung.
    Daher musst du den vierten Parameter (WhereCondition) von
    OpenReport bedienen, nicht den dritten.
     
    Falls dein Feld "AdGgw" ein Datumsfeld ist, wirst du danach einen
    Formatfehler bekommen.
     
    --
    Servus
    Karl
    *********
     
     
     
    Dienstag, 27. September 2011 09:11
  • Hallo Karl

    danke für die Antwort. Ich habe es ausprobiert, ich bekomme jetzt eine Meldung: Parameterwert eingeben: ggw100107ml (das ist der Wert, der im Kombifeld als Filterfeld ausgewählt wurde), dann noch einmal Parameterwert eingeben (der andere Wert, bisFilterfeld). Wenn ich dann die Werte noch einmal so eingebe, wird der Bericht gefiltert angezeigt. Das Feld "AdGgw" ist kein Datumsfeld, es ist ein Textfeld.

    Gruß Vera

    Dienstag, 27. September 2011 18:11
  • Vera Köhler wrote:
    > ... ich bekomme jetzt
    > eine Meldung: Parameterwert eingeben: ggw100107ml (das ist der Wert,
    > der im Kombifeld als Filterfeld ausgewählt wurde), dann noch einmal
    > Parameterwert eingeben (der andere Wert, bisFilterfeld). Wenn ich
    > dann die Werte noch einmal so eingebe, wird der Bericht gefiltert
    > angezeigt. Das Feld "AdGgw" ist kein Datumsfeld, es ist ein Textfeld.
     
    Texte brauchen Hochkommas drumherum. Also z.B. so
     
    strFilterAdGgw = "[AdGgw] between '" & _
    strVonAdGgw & "' And '" & strBisAdGgw & "'"
     
    --
    Servus
    Karl
    *********
     
     
     
    Dienstag, 27. September 2011 18:19
  • Hallo Vera,

    bist Du damit weitergekommen?

    Danke und VG

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Freitag, 30. September 2011 12:13
    Moderator
  • Dieser Thread wurde in Diskussion umgewandelt. Natürlich sind weitere Nachfragen / Beiträge möglich und selbstverständlich willkommen.

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Donnerstag, 6. Oktober 2011 09:23
    Moderator
  • Hallo Bodgan,

    tut mir Leid, ich hatte immer auf eine eMail gewartet, die mich informiert, das im Forum einer geantwortet hat... Heute habe ich mal wieder selbst nachgeschaut und gesehen, dass wieder Antworten da waren. Leider bin ich noch nicht weitergekommen.

    Den Tipp, die Textfelder in Hochkomma zu setzen, habe ich eingetragen:

    strFilterAdGgw = "[AdGgw] between '" & strVonAdGgw & "' and '" & strBisAdGgw&" '"

    bekomme aber die Meldung: Fehler beim Kompilieren: Erwartet: Anweisungsende

    Nachdem ich noch ein bißchen hin und her probiert habe, habe ich einfach die "echten" Felder eingesetzt und den Code etwas gekürzt:

    Private Sub cmdTelefonlisteWartung_Click()

    Dim strFilterAdGgw As String

    'Filter einstellen; Textfelder müssen in Hochkommata gesetzt werden
    strFilterAdGgw = "[AdGgw] between '" & [VonFilterfeldAdGgw] & "' and '" & [BisFilterfeldAdGgw] & "'"

    'Öffnen Report mit Filterbedigung
    DoCmd.OpenReport "rptWartungTelefonliste", acViewPreview, , strFilterAdGgw

    End Sub

    Jetzt funktioniert es!! Vielen, vielen Dank, ohne Euch hätte ich's wieder nicht geschafft!!!!

    Viele Grüße Vera

    Freitag, 7. Oktober 2011 18:24