Neuigkeiten:

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

Mobiles Hauptmenü

Bericht anhand von Selektion aus Formular

Begonnen von phyton2706, Mai 30, 2012, 15:03:12

⏪ vorheriges - nächstes ⏩

phyton2706

Hallo zusammen,

ich benötige noch mal eure Hilfe...

Ich habe einen Bericht erstellt, der auf einer Abfrage beruht. Soweit so gut...

Den Berichtsdruck möchte ich gerne über ein Formular steuern.

In diesem Formular gibt es je ein Feld "DatumVon" und "DatumBis", eine Kombi-Box (comADAuswahl ) um einen Benutzer auszuwählen, und einen Button um alle Benutzer auszuwählen.

Die Datumsfelder sollen den Datumsbereich für den Bericht eingrenzen, und die Kombi-Box den Benutzer eingrenzen. Der Button für alle Benutzer soll die Auswahl der Kombi-Box rückgängig machen.

Mein VB-Code sieht bisher so aus:

Private Sub cmdVorschauBer_Click()
On Error GoTo Err_cmdVorschauBer_Click
    Dim strSQl As String
    Dim stDocName As String
   
    strSQl = "SELECT *" _
            & " FROM abfSpesen" _
            & " WHERE ADM=" & comADAuswahl _
            & " AND Datum Between " & Format(Me!DatumVon, "\#yyyy-mm-dd\#") _
            & " AND " & Format(Me!DatumBis, "\#yyyy-mm-dd\#") _
            & " ORDER BY ADM, Datum "
   
    CurrentDb.QueryDefs("abfSpesen").Sql = strSQl

    stDocName = "Besuchsbericht"
    DoCmd.OpenReport stDocName, acPreview

Exit_cmdVorschauBer_Click:
    Exit Sub

Err_cmdVorschauBer_Click:
    MsgBox Err.Description
    Resume Exit_cmdVorschauBer_Click
   
End Sub


Nur bekomme ich dann immer einen Zirkelbezug auf die Abfrage...

Ich hoffe ihr könnt mir weiter helfen...

----------------------
THX a lot

phyton2706

DF6GL

HAllo,


"Zirkelbezug auf die Abfrage..."


ist wohl so:  die Abfrage bekommt einen SQL-String als Abfrage auf sich selbst zugewiesen....


Wenn schon eine Abfrage "abfragen" , dann sollte der Bericht eine eigene Abfrage erhalten:


Private Sub cmdVorschauBer_Click()
On Error GoTo Err_cmdVorschauBer_Click
   Dim strSQl As String
   Dim stDocName As String
   
   strSQl = "SELECT *" _
           & " FROM abfSpesen" _
           & " WHERE ADM=" & Me!comADAuswahl _
           & " AND Datum Between " & Format(Me!DatumVon, "\#yyyy-mm-dd\#") _
           & " AND " & Format(Me!DatumBis, "\#yyyy-mm-dd\#") _
           & " ORDER BY ADM, Datum "
   
   CurrentDb.QueryDefs("abf_Besuchsbericht").Sql = strSQl

   stDocName = "Besuchsbericht"
   DoCmd.OpenReport stDocName, acPreview

Exit_cmdVorschauBer_Click:
   Exit Sub

Err_cmdVorschauBer_Click:
   MsgBox Err.Description
   Resume Exit_cmdVorschauBer_Click
   
End Sub




Warum nicht gleich so:

Private Sub cmdVorschauBer_Click()
On Error GoTo Err_cmdVorschauBer_Click
   Dim strSQl As String
   Dim stDocName As String
   
   strSQl = " ADM=" & Me!comADAuswahl _
           & " AND Datum Between " & Format(Me!DatumVon, "\#yyyy-mm-dd\#") _
           & " AND " & Format(Me!DatumBis, "\#yyyy-mm-dd\#")    

   stDocName = "Besuchsbericht"
   DoCmd.OpenReport stDocName, acPreview,,strSQl

Exit_cmdVorschauBer_Click:
   Exit Sub

Err_cmdVorschauBer_Click:
   MsgBox Err.Description
   Resume Exit_cmdVorschauBer_Click
   
End Sub



wobei die Sortierung im Bericht vorgenommen werden sollte.

phyton2706

Hallo DF6GL,

vielen Dank für den Code! So funktioniert das ganze echt Prima!!!


----------------------
THX a lot

phyton2706