Avatar billede gp Nybegynder
09. juni 2004 - 10:21 Der er 22 kommentarer og
1 løsning

Filter til Rapport

Jeg kan ikke få mit filter til at virke, jeg kan godt skrive den ud uden brug af filter.

    If Me.V_Status = 1 Or Me.V_Status = 2 Or Me.V_Status = 3 Then
      If Me.V_Status = 1 Then
        If Me.ByggeTilbud = True Then
            Dim bygtil As String, bygtilUbyg As String
            bygtil = (OverKategori = 9)
            bygtilUbyg = (OverKategori <> 9)
           
            Rapporter!DocName![QuotationSub].Rapport.Filter = bygtilUbyg
            Rapporter!DocName![QuotationSub].Rapport.FilterOn = True
         
            DoCmd.OpenReport DocName, PrMode, , strfind
           
            Rapporter!DocName![QuotationSub].Rapport.Filter = bygtil
            Rapporter!DocName![QuotationSub].Rapport.FilterOn = True
            DoCmd.OpenReport DocName, PrMode, , strfind
        End If
        If Me.ByggeTilbud = False Then
            DoCmd.OpenReport DocName, PrMode, , strfind
        End If
        End If
    End If

Glenn
09. juni 2004 - 10:28 #1
Der er lidt kludder i syntaksen. Prøv denne:

If Me.V_Status = 1 Or Me.V_Status = 2 Or Me.V_Status = 3 Then
    If Me!V_Status = 1 then
          if Me!ByggeTilbud = True Then                   
              DoCmd.OpenReport DocName, PrMode,,"Overkategori = 9"
          else
              DoCmd.OpenReport DocName, PrMode, , strfind
        End If
    End If
End If

(Der mangler nok et eller andet...kunne ikke lige gennemskue hvad du ville med bygtilUbyg = (OverKategori <> 9))
Avatar billede sidewinder Nybegynder
09. juni 2004 - 10:28 #2
Kan det ikke være fordi du har paranteser i stedet for anførselstegn:
bygtil = (OverKategori = 9)
bygtilUbyg = (OverKategori <> 9)
Altså - prøv med:
bygtil = "OverKategori = 9"
bygtilUbyg = "OverKategori <> 9"
Avatar billede gp Nybegynder
09. juni 2004 - 10:30 #3
Thomas

Filteret skal køre på subform
Avatar billede gp Nybegynder
09. juni 2004 - 10:31 #4
Sidewinder
Jeg har prøvet med () og med "" det virker kun med () hvis jeg skrivet det direkte på sub rapporten
09. juni 2004 - 10:33 #5
ok, men hvorfor sætter du 2 forskellige filtre lige efter hinanden, og åbner den samme rapport 2 gange?
mangler der noget?

          Rapporter!DocName![QuotationSub].Rapport.Filter = bygtilUbyg       
          DoCmd.OpenReport DocName, PrMode, , strfind           
          Rapporter!DocName![QuotationSub].Rapport.Filter = bygtil
          DoCmd.OpenReport DocName, PrMode, , strfind
Avatar billede gp Nybegynder
09. juni 2004 - 10:36 #6
Jeg har et tilbud:

Det vil jeg gerne kunne udskrive i tre versioner

1) Et samlet tilbud

2) Tilbud der er opdelt i to tilbud. Dette har jeg tænkt at styre med filter så jeg skrivet det første tilbud uden Kategori 9 (OverKategori <> 9) og herefter Kategori alene (OverKategori = 9)

GP
Avatar billede gp Nybegynder
09. juni 2004 - 10:37 #7
Jeg vist få slettet en linie, med mit problem er at jeg ikke kan styre mine filtre fra VBA.

GP
09. juni 2004 - 10:40 #8
Jeg ved ikke rigtig om det har nogen betydning, men jeg har aldrig haft tilid til at bruge de danske navne i VBA.

Jeg ville bruge Reports i steder og så skal Docname i parentes, således:

Reports(DocName)![QuotationSub].Rapport.Filter = bygtilUbyg       

Derudover vil jeg give Sidewinder ret i, at syntaksen for kriterier er med anførselstegn omkring:
bygtil = "(OverKategori = 9)"
Avatar billede sidewinder Nybegynder
09. juni 2004 - 10:51 #9
Man kan ikke se hvad din OverKategori er defineret som, men hvis det er en string skal du have anførselstegn omkring, altså:
OverKategori = '9'
Avatar billede gp Nybegynder
09. juni 2004 - 10:52 #10
Jeg får nu en besked om at jeg refererer til en rapport der ikke er åben, skal den åbnes i design?

GP
09. juni 2004 - 10:53 #11
nej, den skal åbnes i viewpreview (vis udskrif)
09. juni 2004 - 10:53 #12
ja, det er rigtigt: du skal flytte din Docmd.Openreport op foran filter-liniernen
Avatar billede gp Nybegynder
09. juni 2004 - 10:58 #13
Thomas,

Nej det virker ikke, jeg kan ikke ændre filter

GP
09. juni 2004 - 11:01 #14
hmm, så har vi et problem....

Du kan ikke indlægge f.eks. OverKategori = 9 i et kriterie i den forespørgsel, som danner grundlag for subreporten?
Avatar billede gp Nybegynder
09. juni 2004 - 11:40 #15
Nej Thomas, da jeg ikke kan styre forspørgselen fra VBA.

GP
09. juni 2004 - 11:51 #16
Jeg er desværre nødt til at smutte - jeg har ikke sovet i 30 timer, så nu vil jeg tage et par timer på øjet.
Jeg kigger tilbage senere...
Avatar billede terry Ekspert
09. juni 2004 - 12:07 #17
I didnt know it was possible to set a reports filter BEFORE the report is open!

Th filter should be included in the DoCmd.Openreport ... so if it sint working then I would assume that its because your filter has the wrong syntax (field names and types)
Avatar billede terry Ekspert
09. juni 2004 - 12:45 #18
DoCmd.OpenReport DocName, PrMode

Reports!YourReportName.Filter = "SomeNumberField = 1" 'Or "SomeTextField = 'One'"
Reports!YourReportName.FilterOn = True
Avatar billede gp Nybegynder
09. juni 2004 - 12:56 #19
Terry,

I would like to control filter on the subRaport.
Avatar billede gp Nybegynder
09. juni 2004 - 12:56 #20
...When I am printing...
Avatar billede terry Ekspert
09. juni 2004 - 13:43 #21
You need to open the report in desig view first. Then set the filter followed by Open NORMAL

EXAMPLE:


docmd.OpenReport "MainReport" ,acViewDesign

Reports!MainReport!SubReport.report.Filter = "ID = 1"

Reports!MainReport!SubReport.report.FilterOn = True

docmd.OpenReport "MainReport" ,acViewNormal
Avatar billede gp Nybegynder
09. juni 2004 - 14:16 #22
Hi Terry,

The last exampel was perfect.

Thanks
Avatar billede terry Ekspert
09. juni 2004 - 14:22 #23
selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester