Neuigkeiten:

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

Mobiles Hauptmenü

gefilterte Formulardaten in Bericht exportieren - Daten sind fehlerhaft

Begonnen von nr59, September 16, 2010, 12:03:03

⏪ vorheriges - nächstes ⏩

nr59

Hallo zusammen,

ich habe ein Formular mit 3 Kombinationsfeldern zum Filtern der Daten und eine Schaltfläche um die gefilterteten Daten in einen Bericht zu überführen.

Setze ich den ersten Filter (Kombinationsfeld), ist alles in Ordnung.

Allerdings wird es mal so richtig merkwürdig sobald ich ein weiteres Kriterium über meine Felder auswähle. Die Anzeige im Formular selbst ist zwar problemlos, aber im Bericht werden bestimmte Textfelder nicht mehr korrekt angezeigt. Es erscheint jeweils nur ein fast leeres feld mit zwei Quadraten am Anfang..

der Export ist übrigens nix besonderes:

 
Dim stDocName As String

    stDocName = "Auswertung_Gesamt_mit_Auswahl"
    DoCmd.OpenReport stDocName, acPreview, WhereCondition:=Me.filter

Was mache ich falsch?

Vielen Dank im voraus

nr59

DF6GL

Hallo,


poste mal den Code, mit dem Du den Filter einstellst.


Welchen "Export" meinst Du?


"fast leeres feld mit zwei Quadraten am Anfang"

bei den Quadraten handelt es sich um Sonderzeichen, vermutlich um Cr und LF ..

Wird denn der Bericht korrekt angezeigt, wenn er ohne Where-Condition geöffnet wird?

nr59

Hallo DF6GL,

den Filter stelle ich mit folgendem Code ein:


Function berechtigung()    
If Me!Kombinationsfeld40 > 0 And Me!Kombinationsfeld45 > 0 And Me!kombi_Thema > 0 Then
           
           Me.filter = "tbl_PruefThemengebietName='" & Me!Kombinationsfeld40 & "'" & _
           "And tbl_ThemaName='" & Me!kombi_Thema & "'" & _
           "And tbl_Ber__Jahr=" & Me!Kombinationsfeld45

  ElseIf Me!Kombinationsfeld40 > 0 And Me!kombi_Thema > 0 Then
           
           Me.filter = "tbl_PruefThemengebietName='" & Me!Kombinationsfeld40 & "'" & _
           "And tbl_ThemaName='" & Me!kombi_Thema & "'"
 
 
  ElseIf Me!kombi_Thema > 0 And Me!Kombinationsfeld45 > 0 Then
           
           Me.filter = "tbl_ThemaName='" & Me!kombi_Thema & "'" & _
                       "and tbl_Ber__Jahr=" & Me!Kombinationsfeld45
 
 
  ElseIf Me!Kombinationsfeld40 > 0 And Me!Kombinationsfeld45 > 0 Then
   
         Me.filter = "tbl_PruefThemengebietName='" & Me!Kombinationsfeld40 & "'" & _
                       "And tbl_Ber__Jahr=" & Me!Kombinationsfeld45


  ElseIf Me!Kombinationsfeld40 > 0 Then
       Me.filter = "tbl_PruefThemengebietName='" & Me!Kombinationsfeld40 & "'"
       
 
  ElseIf Me!kombi_Thema > 0 Then
           Me.filter = "tbl_ThemaName='" & Me!kombi_Thema & "'"
   
   
   ElseIf Me!Kombinationsfeld45 > 0 Then
   
           Me.filter = "tbl_Ber__Jahr=" & Me!Kombinationsfeld45
End If
Me.FilterOn = True

End Function


mit EXPORT meine ich den Aufruf eines Berichtes mit den im Formular vorgenommenen Einschränkungen/Filtern. Ich nutze dazu dieses Makro:
Private Sub Befehl50_Click()
On Error GoTo Err_Befehl50_Click

   Dim stDocName As String

   stDocName = "Auswertung_Gesamt_mit_Auswahl"
   DoCmd.OpenReport stDocName, acPreview, WhereCondition:=Me.filter

Exit_Befehl50_Click:
   Exit Sub

Err_Befehl50_Click:
   MsgBox Err.Description
   Resume Exit_Befehl50_Click
End Sub

wobei ich auch schon DoCmd.OpenReport stDocName, acPreview, ,Me.filter
ausprobiert hab..

Der Bericht wird übrigens auch nicht korrekt angezeigt wenn ich im Formular KEINE Filter setze. Öffne ich den Bericht allerdings direkt über das Datenbankfenster, wird alles wieder korrekt angezeigt..


DF6GL

Hallo,


-- setz mal vor jedes "And" ein Leerzeichen.

-- "wenn ich im Formular KEINE Filter setze"   das war zwar nicht die Frage...
aber durch "direkt über das Datenbankfenster, wird alles wieder korrekt angezeigt."   beantwortet.

--- Prüfe die Kombis besser mit If nz(Me!Kombinationsfeld40,"") <> "" Then

-- Ansonsten sehe ich jetzt keine latenten Fehler.   

Lad die DB mal hier komprimiert und gezippt hoch, wenn es geht.

nr59

Hochladen geht leider nicht, ich versuche es mal von zuhause mit einer abgespeckten version.

ach ja, die Änderungen haben noch nichts bewirkt.. trotzdem schon mal danke!

DF6GL

Hallo,

ok,


vielleicht fehlt ja doch noch:
.
.
.
    ElseIf Me!Kombinationsfeld45 > 0 Then
   
            Me.filter = "tbl_Ber__Jahr=" & Me!Kombinationsfeld45


Else

Me.Filter =""

End If
Me.FilterOn = True

End Function

nr59



database

Hallo,

mal nur interessenshalber ...  bezeichnest du mit     tbl_ThemaName  und den anderen Objekten, die mit  tbl_....    benamst sind, in deinem Code eine Tabelle oder ein Feld?

Grüße

Peter

nr59

Hi mal wieder,

ich hab das Formular mit dem Assi erstellt, und der nimmt für die Felder halt die Bezeichnungen der Datenbanken..

Da die Datei noch zu groß ist, versucht sie euch doch bitte mal über den folgenden Link anzusehen. http://www.supahahn.de/mini.zip

vG

Andreas

DF6GL

Hallo,


warum sind die Berichte ausgeblendet?


Lösch mal dieses ominöse Unterform aus dem Detailbereich...
Irgendwo gibt es da einen Dreckeffekt.  Allein das Verschieben eines anderen Textfeldes bringt die richtige Darstellung..

Um welche Zeichen es sich handelt, kann ich auch nicht feststellen.

nr59

Hi,

ich hab eigentlich immer alles ausgeblendet, da unsere User manchmal "Schabernack" treiben..  ::)

Das Unterformular benötige ich im Detailbereich, da stehen wichtige Informationen.
ZitatAllein das Verschieben eines anderen Textfeldes bringt die richtige Darstellung..
Das kann ich nicht so ganz nachvollziehen - zumal ja auch alles richtig läuft wenn ich nur den ersten Filter setze..


DF6GL

Hallo,

habe noch ein bißschen weiter geforscht:

Der Bericht basiert auf einer gruppierenden Abfrage, in der auch  die Memofelder gruppiert werden.  Es ist unsinnig, Memofelder zu gruppieren und dies führt zu dieser falschen Anzeige( Chinesische Zeichen).  Man kann das "Feature" oder "Bug" nennen..  ;)

nr59

jetzt weiß ich warum bei dir "ACCESS-GOTT" steht!!!!

Vielen vielen Dank, das war des Pudels Kern!!!

Sensationell..

vG

Andreas