Rapport opslaan met filter

Status
Niet open voor verdere reacties.

Salonkorf

Gebruiker
Lid geworden
9 mrt 2007
Berichten
29
Ik heb in een vb code hetvolgende staan:

DoCmd.OpenReport stDocName, acViewPreview, , " [BatchNummer]= " & Trim(Str(ActBatchNr))

Dit werkt goed. Het rapport filterd (WHERE) op batchnummer.

Nu wil ik dit rapport in RTF exporteren. Dit kan met onderstaande code:

DoCmd.OutputTo stDocName, acReport, acFormatRTF

Het probleem is dat ik nu niet meer kan filteren op batchnummer. Is er een mogelijkheid om eea aan te passen zodat filteren wel mogelijk is in de RTF export?

Alvast bedankt
 
Pas de query aan waarop het rapport is gebasseerd. En exporteer daarna je report.
 
Pas de query aan waarop het rapport is gebasseerd. En exporteer daarna je report.

Guus2005 bedankt voor je reaktie.:thumb:

Ik weet van te voren niet van welke notanummer er een raport moet worden gemaakt. Dit geeft de gebruiker op. Daarom wil ik een parameter mee kunnen geven aan het rapport. Ik kan de query wel aan passen maar dan heb ik altijd hetzelfde raport.
 
Iedere keer dat je de query aanpast heb je een ander rapport maar het kanook anders zoals jij aangeeft met een parameter:
Code:
Select aap, noot From slablaadje Where mies = [ParameterMies]
Iedere keer dat de query wordt aangeroepen wordt moet je de parameter: ParameterMies invullen.

Enjoy!
 
Iedere keer dat je de query aanpast heb je een ander rapport maar het kanook anders zoals jij aangeeft met een parameter:
Code:
Select aap, noot From slablaadje Where mies = [ParameterMies]
Iedere keer dat de query wordt aangeroepen wordt moet je de parameter: ParameterMies invullen.

Enjoy!



OK ik snap wat je bedoeld. Alleen is mij dan niet duidelijk hoe ik ParameterMies mee geeft als ik het rapport wil exporteren:

DoCmd.OutputTo stDocName, acReport, acFormatRTF

Ik wil het raport opslaan. Het rapport is gekoppeld aan een query, maar de query roep ik niet aan vanuit mijn VB code dus hoe geef ik mdan de parameter mee?
 
Als [ParameterMies] in je query staat dan vraagt hij er zelf om.
Als hij dat niet doet dan moet je eerst de query aanpassen.
Met de volgende drie stukjes code kan je snel en eenvoudig een query aanpassen:
Code:
Public Function MakeQueryDef(strSQLname As String, strSQLdef As String) As Boolean

   Dim qdf As QueryDef
   Dim dbs As Database
   
   On Error GoTo Err_MakeQueryDef
   
   Set dbs = CurrentDb
   
   DeleteQueryDef strSQLname ' Query weggooien
   
   Set qdf = dbs.CreateQueryDef(strSQLname, strSQLdef)
   
   MakeQueryDef = True
   
Exit_MakeQueryDef:
   Exit Function
   
Err_MakeQueryDef:
   MakeQueryDef = False
   MsgBox "Fout in MakeQueryDef : " & Err.Number & ":" & Err.Description, vbExclamation, "Fout bij maken query definitie."
   Resume Exit_MakeQueryDef
End Function

Public Sub DeleteQueryDef(strSQLname As String)

   Dim dbs As Database
   
   Set dbs = CurrentDb
   
   On Error Resume Next
   dbs.QueryDefs.Delete strSQLname 'Genereert fout als query niet bestaat.

End Sub

Public Function GetSqlDef(strQueryname As String) As String
'Return SQL definition of query
   GetSqlDef = CurrentDb.QueryDefs(strQueryname).SQL
End Function
enjoy!
 
Guus2005,

Ik denk dat ik met het aanpassen van de query in de VB code een heel eind kom. Bedankt voor het meedenken en je voorbeelden.

:thumb::thumb::thumb::thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan