Avatar billede erehjbe Nybegynder
19. februar 2003 - 14:20 Der er 9 kommentarer og
2 løsninger

Formular Filter overføres til raport

Hejsa.

Er der en snild måde at overføre det filter man har på en formular til en raport der aktiveres fra en knap på formularen.
Sådan at uanset hvordan brugeren på hvilket felt brugen filtrerer formularen er det kun de poster der kommer med.
Er en Continous form. Samme felter i formular som raport.
Lidt i stil med
http://www.eksperten.dk/spm/314140
Jeg kan godt få den til slæbe filteret med over ved hjælp af
Reports(stDocName).Filter = Form_frmSortOrder.Filter
Reports(stDocName).FilterOn = True
Problemet er at den ikke vil vise alle poster igen hvis brugeren har fjernet alle filtre.
Avatar billede mlo Nybegynder
19. februar 2003 - 15:00 #1
Hej

Jeg mener at du kan løse dit problem ved at eksporter de filtrerede data til en ny tabel, og basere din rapport på denne tabel.

Jeg har lavet et job (hentet fra forskellige tips på denne side), som udfører en sådan funktion.

Jeg opererer med 2 tabeller:

rst (Min oprindelige tabel) og rst2 (den nye tabel)

frm.Filter = en tekststreng der indeholder det aktuelle filter. Der skal blot fjerne  højre- og venstreparanteser.



********************

Dim frm As Form
Dim filt As String
filt = ""
mfilt = ""

Set frm = Forms("Vis alle poster - Formular")
filt = frm.Filter

  Dim db As Database
  Dim sqlSt, CustCode, CustName As String
  Dim rst, rst2 As Recordset
  Set db = CurrentDb()

filt = Replace(filt, ")", "")
filt = Replace(mfilt, "(", "")


If filt = "" Then ' Ingen søgekriterier
  sqlSt = "SELECT * from [Vis alle poster]"
Else
  sqlSt = "SELECT * from [Vis alle poster] WHERE " & filt
End If

Set rst = db.OpenRecordset(sqlSt)
Set rst2 = db.OpenRecordset("Flettetabel", DB_OPEN_DYNASET)

rst.MoveFirst
Do Until rst.EOF
    rst2.AddNew
      rst2![Firma] = rst![Firma]
      rst2![Adresse] = rst![Adresse]
    rst2.Update
    rst.MoveNext
  Loop
Avatar billede terry Ekspert
19. februar 2003 - 15:13 #2
DoCmd.OpenReport "YourReport", acViewNormal, , Me.filter
Avatar billede terry Ekspert
19. februar 2003 - 15:14 #3
If you are using the forms filter then you can just include this in the
Docmd.openreport as the WHERE parameter
Avatar billede mlo Nybegynder
19. februar 2003 - 15:15 #4
Jeg har en del at lære endnu :-)
Avatar billede erehjbe Nybegynder
19. februar 2003 - 15:26 #5
>>Terry
It applies the filter allright, but when I close the report, remove the filter on the form, and opens the report again, the filter stays there.
You know after I press the Remove Filter button, it stays in the form, and the reports filter.
Avatar billede erehjbe Nybegynder
19. februar 2003 - 15:38 #6
I can remove the filter in the reports close function, but that is too much.
Maybee the user want's to increase the filter for next print.
The question is to get the Apply/Remove filter button in Access to do the job.
Avatar billede erehjbe Nybegynder
19. februar 2003 - 15:52 #7
Have to go now, see you tomorrow :-)
Avatar billede terry Ekspert
19. februar 2003 - 16:10 #8
It should only alter the reports filter as long as it is open. If you close the report and remove the filter on the form then the filter SHOULD be removed when you open the report again.

Try this: Open the form and then set the filter on the form. Now open the report directly from the database window. There should be NO filter set on the report, if there is then it is VERY likely because you have SAVED the report while the filter property has been set. Go into the reports properties and make sure there is no filter. If there is remove it and save the report.
19. februar 2003 - 21:22 #9
Inden du åbner din rapport skal du kontrollere om filteret er aktiveret på formen.

If Me.Filteron Then
  Docmd.Openreport stDocName, acviewpreview,,Me.Filter
else
  Docmd.Openreport stDocName, acviewpreview
endif

Dette skyldes at Me.Filter stadig er den samme, når du fjerne filteret. Kun når du spørger på FilterOn ved du om der er filter på formularen.

/Thomas
Avatar billede erehjbe Nybegynder
20. februar 2003 - 08:31 #10
>Thomas. s'følig. Jeg takker.
>Terry. The problem was not in the report, it was in the form. As Thomas mentioned, the filter was still in the form after you removed the filter, only not activated.

I thank you both. Hope you accept the split.
Avatar billede terry Ekspert
20. februar 2003 - 20:55 #11
Didnt think of that Thomas, I thought it was obvious that if the filter was still applied to the form then would still be applied to the report. :o)

Thanks for the points too :o)
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