filter gebruiken voor een rapport

Status
Niet open voor verdere reacties.

annetiti

Gebruiker
Lid geworden
6 aug 2007
Berichten
195
Dag
Kan men het resultaat van de ingebouwde filtermogelijkheid van access gebruiken in een rapport, export naar een tabel...?

* je opent een tabel met 100 rijen
* in tabblad START --> groep: sorteren en filteren --> filteren inschakelen en op de kolommen (velden) filteren

--> het resultaat van je zoekopdracht wens ik te gebruiken in een rapport of te mailen...

* is dit mogelijk? of moeten al deze zoekcriteria's geprogrammeerd worden.

VB Je opent een tabel --> filter inschakelen op Land daarna filteren op Gemeente. Er blijven 20 records over van de 100 die voldoen aan de criteria's.

Deze 20 records mogen afgedrukt worden. Is dit mogelijk door gebruik te maken van de filtermogelijkheden van access of moet alles geprogrammeerd worden?

Misschien weet iemand hier raad op!

Groeten Anne
 
Ik neem aan dat je filtert via een formulier, en vervolgens het rapport wilt openen met dat filter. Klopt dat?
 
filter

Dag Octafish

Zou graag gebruik maken van de filterfunctie in access:
- tabel openen
- filter aanvinken
- per kolom kan je aanwijzen wat je wilt filteren

resultaat is een gegevensblad

Reden is dat er op 20 tal velden gefilterd moet worden.

groeten anne
 
Dan is het antwoord op je vraag simpel: nee, dat kan niet. Vanuit een formulier daarentegen wél, vandaar mijn aanname dat je wel een formulier gebruikt. Ik verbaas me er een klein beetje over dat je blijkbaar best veel vanuit tabellen werkt; persoonlijk vind ik dat a) een gruwel en b) onwenselijk, omdat je eigenlijks niks kunt automatiseren vanuit een tabel. Ik duik daar alleen in als ik beheertaken uit moet voeren, zoals een veldje aanpassen of opzoeken. Taken waar ik geen formulier voor heb.
Dat heb ik dus altijd wél voor zoekfuncties; bijvoorbeeld om personen te filteren. Daarvoor maak ik dan een doorlopend formulier met in de koptekst niet-afhankelijke tekstvakken en keuzelijsten waarvan het gecombineerde gebruik het formulier live filtert. In de praktijk ziet dat er niet alleen veel mooier uit, het is ook nog eens makkelijker voor de gebruiker en sneller.
En, aanvullende bonus, je kunt het filter van het formulier zo meenemen naar een rapport. Is dat ook gelijk gefilterd.

Maar vanuit een tabel werkend, ontzeg je jezelf dus al die functionaliteit.
 
Dag Octafish

Waarom zou ik gebruik maken van de selecties via Access table - gegevensblad of formulier gegevensblad:

- je kan een filter plaatsen op veld1 --> ommiddelijk worden de rijen getoond die voldoen aan criteria 1
- subselectie op veld 2 ...
- subselectie op veld3
de gebruiker kiest zelf zijn selecties.

Misschien niet de juiste manier van werken?

gr anne


dit laat de gebruiker toe om zelf zijn selecties te bepalen zeker als er
 
Waarom zou ik gebruik maken van de selecties via Access table - gegevensblad of formulier gegevensblad:
Al de filtermogelijkheden die je aangeeft, kun je uiteraard ook (en veel beter nog) op een formulier bewerkstellingen. Zowel op een enkelvoudig als op een doorlopend formulier. Dus dat vind ik totaal geen goed argument om in een tabel te mogen werken.
In mijn ogen horen gebruikers niet in een tabel te komen; de kans dat ze iets verklooien is veel te groot en de kans dat ze dat niet doen veel te klein (namelijk kleiner dan 100%). Dus in databases die ik voor klanten maak (en voor mezelf ook trouwens) hebben voor gegevensmutaties altijd formuilieren. Voor overzichten? Altijd formulieren. Zoeken? Idem dito. Een gebruiker komt gewoon nooit in een tabel; heeft van het bestaan geen weet en kan dus ook nooit in de tabel iets om zeep helpen. Formulieren zijn a) optimaal te beveiligen en b) bevatten optimaal gebruikersgemak. Twee aspecten die in een tabel echt niet kunnen worden afgedwongen. En zo kan ik nog wel even door gaan :).
 
DAg Octafish

Volledig akkoord met je opmerking.
- Ondertussen een Formulier gemaakt weergave gegevensblad
- ook een formulier met de veldselecties --> nodig voor een rapport + werking gegevensblad

om het formulier - gegevensblad te openen gebruik ik
DoCmd.OpenForm "InventarisGegevens_Selecties", acFormDS, , strcriterium, acFormReadOnly, acWindowNormal

voor een rapport
DoCmd.OpenReport "rpt_parkbomen", acViewPreview, , strreport

nu nog een procedure schrijven voor de criteria's van verschillende velden op te stellen.

Spijtig is dat je van een gegevensblad formulier het resultaat niet in een hulptabel kan plaatsen.

Bedankt voor je uitleg.
Een goede tip is altijd goud waard;

groeten Anne
 
nu nog een procedure schrijven voor de criteria's van verschillende velden op te stellen.
Die heb ik in een speciale functie staan, die al een paar keer is uitgelegd in dit forum. Moet je wel kunnen vinden. Anders post ik de code nog wel een keer.

Spijtig is dat je van een gegevensblad formulier het resultaat niet in een hulptabel kan plaatsen.
Als dat al nodig zou zijn, kan dat uiteraard makkelijk gedaan worden. Dus die opmerking klopt niet helemaal :).
 
Dag Octafish

Toch een vraagje.
Zou je uit het formulier al een gegevensblad weergegeven is en waarop een selectie gebeurt deze gegevens in een hulptabel kunnen opslagen?
Heb gezien dat je de gegevens kan kopiëren en manueel in een tabel kan plakken. Kopiëren lukt via het linkse kolom van de veldnamen met rechtsklik heb je de optie kopiëren.
Automatisch worden de velden overgenomen en ook de data.

Zou dit kunnen opgelost worden via stukje VBA?

Nog verder zoeken naar de code om meerdere criteria's te maken in vba

groeten Anne
 
Ja, dat kan. De vraag is eigenlijk waarom je dat zou willen, want als je de selectie kan filteren, kun je er ook een selectie van maken met een query. Hulptabellen maak ik eigenlijk alleen maar als ik de data verder moet verwerken en ik in dat proces geen query kan gebruiken. Soms maak je een query op een query die niet werkt, omdat de bronquery dynamisch is en de nieuwe query daar niet mee kan werken. Maar dat komt maar zelden voor, dus ik vraag altijd maar waarom jij dat dan wel nodig denkt te hebben :).
 
Dag Octafish


In bijlage een voorbeeldbestandje.Bekijk bijlage voorbeeld.zip

In het formulier frmmenu
- knopje om selecties te maken in een gegevensformulier. in dit formulier heb je de eigenschap .filter
- kan ik deze eigenschap overnemen naar het rapport .filter?

De gebruiker kan willekeurige selecties maken op één of meerdere velden. Binnen een veld op één of meerdere gegevens.

Kan in her rapport de selectie van het formulier overgenomen worden?

print filter.jpg

met vriendelijke groeten

Anne
 

Bijlagen

  • filter.jpg
    filter.jpg
    13,2 KB · Weergaven: 83
Ik zal het niet snel zeggen dus bij voorbaat excuses, want ik ga er vanuit dat je het beste probeert te maken, maar ik vind het een gruwelijk formulier.... Dit is niet de manier om een formulier te filteren, en al helemaal niet om een rapport te openen vanuit dit formulier. Dat kan namelijk niet op deze manier omdat je geen koptekst hebt waar je een knop in kan zetten, of filtervelden. Jij blijft nog even hangen in het principe dat mensen op een tabelachtige manier moeten kunnen filteren, maar dat is echt de lelijkste en onhandigste manier die je kunt bedenken. Op zijn minst moet je er een doorlopend formulier van maken zodat je kop- en voetteksten kan gebruiken. Bovendien smoelt het formulier dan gelijk een stuk beter, en het oog wil toch ook wat? :)

Filteren doe ik dus op een doorlopend formulier, met velden (tekstvelden, keuzevelden, selectieveldjes) die niet-gebonden zijn. Die zoekvelden vormen wél het filter, dat dus wordt samengesteld op basis van de velden die zijn ingevuld. Omdat die velden willekeurig gekozen kunnen zijn, en verschillende soorten waarden kunnen bevatten, heb je een functie nodig die al die aspecten van de filtervelden meeneemt en op de juiste manier verwerkt.

Kan in het rapport de selectie van het formulier overgenomen worden?
Ja. Om toch snel antwoord op je vraag te geven, hier een manier om het filter mee te nemen naar een rapport. Omdat je geen knoppen kunt plaatsen, moet je het dus doen d.m.v. een gebeurtenis op een tekstvak. Ik heb voor het voorbeeld het veld Volgnr gebruikt, maar dat kan elk veld zijn uiteraard. De code bestaat uit zegge één regel:
Code:
Private Sub Volgnr_Click()
    DoCmd.OpenReport "rptan InventarisGegevens", acViewPreview, , Me.Filter
End Sub
En meer is het dus niet. Maar ik zou dit zoekformulier dus nooit zo opleveren.
 
DAg Octafish

ik probeer het deze week uit. Hou je zeker op de hoogte.
groeten Anne
 
Dag Octafish

Het is me gelukt.
Had een foutje niet te geloven een komma te weinig voor de filter!
Nog eens goed naar je voorbeeld gekeken en GELUKT.

Hartelijk dank
Anne
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan