voor afdrukken rapport de juiste query kiezen

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste forummers,
Ik heb verschillende query's, bv op selectie criteria hoger dan 5, tussen 5 en 100, hoge dan 100 etc.

Het rapport wat ik wil afdrukken is de ene keer gebaseerd op query 1, dan weer query 2 etc.

Nu wil ik niet voor elke verschillende query een verschillend rapport maken. Immers de layout van het rapport blijft altijd hetzelfde. Mocht de layout van het rapport aangepast moeten worden dan moet ik dit bij meerdere rapporten doen, met het gevaar van verschillen, los van het onnodige werk

Hoe kan ik misschien, als ik het rapport opstart het verwezenlijken dat ik eerst nog voor de juiste query kan kiezen en dan het rapport pas print. Dan heb ik nl aan een rapport layout genoeg.

Moet dit via een onafhankelijk formulier en dan een keuze optie?

Wie kan mij op weg helpen?

Thanks, Friend
 
Kijk eens in de cursus Access, daarin vind je de oplossing. Om een tipje van de sluier op te lichten: de grap is dat je voor je rapport gewoon één query gebruikt, zodat je rapport niet verandert. Wat je dan wél doet, is de SQL van de basisquery steeds aanpassen. Dat doe je met de Querydefs collectie.
 
Hallo Michel, Hartelijk dank voor je reply! Kan je nog een tipje van de sluier opheffen en mij zeggen in welk hoofdstuk ik moet kijken? Thanks Friend
 
Laatst bewerkt:
Beste Michel,

Hartelijk dank, het komt weer boven en ik ben aardig op weg. Gebruik nu op mijn onafhankelijke formulier drie kzl, te weten: kzlKiesjaar, kzlBedragvanaf, kzlBedragtot.

Als ik ze alle drie invul krijg ik keurig mijn rapport met gefilterde data afhankelijk van de 3 velden op mijn onafhankelijke formulier.

Nu wil ik ook wel eens geen jaartal invullen (ik laat dan dus de kzlKiesjaar leeg) en dan gaat het fout want dan krijg ik niets :rolleyes:

De code in de query is:

Code:
[Forms]![frmRapjaar]![kzlKiesjaar]


Heb jij hier een oplossing voor?

Hoor graag, thanks, Friend
 
Met een ander (boolean) criterium.
Code:
IIF([Forms]![frmRapjaar]![kzlKiesjaar] Is Null; True; [KiesJaar] = [Forms]![frmRapjaar]![kzlKiesjaar])
Deze formule genereert ofwel de waarde TRUE als het kiesjaar leeg is, ofwel TRUE of FALSE als Kiesjaar al dan niet gelijk is aan het gekozen jaar. Daar heb je nog niet zo veel aan, want je hebt dan nog een extra criterium nodig. En dat filtert de FALSE waarden er uit. Het criterium op dit berekende veld is dus: <>FALSE.
Daarmee vervalt dus je oorspronkelijke filter.
 
Michel bedankt voor je snelle reactie:thumb: Helaas bij mij werkt het nog niet helemaal. Ik krijg de melding parameterwaarde opgeven Kiesjaar! ???:shocked:??? Friend
 
Verbaast me niks; ik heb de veldnaam [Kiesjaar] afgeleid uit de naam van je keuzelijst. Zou je het omgekeerde doen, dus bij mijn db zo'n code voorstellen, dan zou hij waarschijnlijk wel werken, want ik streef er altijd naar om veldnamen, tekstvakken en keuzelijsten consequente namen te geven. Bij mij zou het veld dus [Kiesjaar] heten, en de keuzelijst iets als cboKiesjaar. Bij jou dus duidelijk niet :) Wellicht zie je hier een mooie reden voor consequente naamgeving ;).
 
Michel,
Hartelijk dank, je blijft altijd inspireren om verder te denken :thumb:. Ik heb te maken met een Excel import bestand waardoor ik de veldnamen krijg aangereikt. Maar het werkt inmiddels thanks to your input :thumb::thumb: - Friend
 
Goedemorgen Michel, na een nachtje slapen ;) krijgt de mens altijd weer nieuwe ideeën. Mijn rapporten werken prima, alleen ik zou nu graag ook 1 groep bv appel willen uitsluiten als ik alle andere groepen wel afdruk. Dus ik wil er een extra keuze mogelijkheid bijmaken op mijn onafhankelijke formulier en een extra exp in de query. Hoe wordt dan de code? Ik dacht code omwisselen true - false etc. Maar we hebben toch weer je wijsheid nodig. Hoor weer graag van je. Thanks, Friend
 
Je stelt de vraag een beetje te vaag. Wil je altijd die ene groep wegfilteren? Wil je kunnen kiezen uit weg te filteren groepen? Wil je meer dan één groep kunnen uitfilteren?
 
Michel, Het veld waar de selectie criteria instaat bv appels, peren etc kan bij sommige klanten ook leeg gelaten worden. Nu wil ik in principe alles uitprinten ongeacht of dit veld gevuld is of niet. Dat gaat nu prima via het onafhankelijke formulier niets invullen en dankzij jouw code :thumb: Alleen Appels of peren kiezen gaat ook prima, dankzij jouw code :thumb: Nu zou ik echter alles willen printen, behalve daar waar appels staat .... Ja dan zet jij mij weer verder aan het denken en wensen ;). Het ideale plaatje zou natuurlijk zijn als je kan kiezen ik wil alles printen behalve de appels en eventueel ook de peren niet etc. Heb ik het zo een beetje beter uitgelegd ?
 
In zoverre dat je het filteren dynamisch wilt houden. Klopt dat? In dat geval zou ik het filter helemaal opbouwen in VBA, op basis van de keuze(lijsten) die je gebruikt. Het anders bijna niet foolproof op te lossen. Vergelijk het een beetje met de vraag: "op welke dagen wordt de gymzaal niet gebruikt?". Je hebt een tabel met boekingen, dus je kunt perfect zien op welke dagen er een reservering is. Maar voor de dagen dat je geen reserveringen hebt, is er geen record. En hoe moet je dan filteren op iets wat er niet is? Dat principe geldt ook voor jouw vraag.
 
hm.. daar heb ik wat meer tijd voor nodig . Ja dynamisch houden. Is het wel mogelijk, eenvoudiger, om één groep die wel benoemd wordt uit te sluiten. Die groep kies ik dan wel via een keuzelijst/veld op mijn onafhankelijke formulier. Dat zou nu al helpen, daar ik een beetje onder tijdsdruk zit ??
 
Dat maakt niet zo heel veel uit, omdat die groep dynamisch is, zoals je zelf al zegt. Het werkt alleen als het altijd dezelfde groep is. Anders moet je nog steeds de leden die gefilterd moeten worden wél benoemen. Of, dat kun je nog eens proberen, het criterium
Code:
 Not [Forms]![frmRapjaar]![kzlDezeNietFilteren])
Dat je dan op het veld zet dat je niet wilt zien.
 
Michel, Subliem :thumb: het werkt en haalt de Appels eruit :thumb: Alles waar wel iets staat, uitgezonderd de appels, neemt hij wel mee in het rapport. Nog een "klein" dingetje hij neemt nu niet mee in het rapport alle records die geen vermelding in het veld hebben. Dus zeg maar waar geen appels of iets anders in staat. Hij vermeldt dus nu de appels niet maar ook de records niet waar in het veld soort geen productsoort is ingevuld. Is dat nog op te lossen?
 
Michel, goedemiddag! Nog even over deze vraag, denk jij dat dit op te lossen is ?? Hoor graag van je, Thanks !! Friend
 
Laatst bewerkt:
Tuurlijk is het op te lossen. Iets als: Not ([Forms]![frmRapjaar]![kzlDezeNietFilteren] Or Null).
 
Michel, Dank je, ik klem mij vast aan tuurlijk, alleen met de volgende code in het criteria krijgt ik niet de records mee waarin op het veld waar ik het criterium toepas niets is ingevuld. Hij sluit welk de records uit van de waarde die ik bij kzlSC_CODEuitsluit heb ingevuld.
Code:
Not ([Forms]![frmRapJaar]![kzlSC_CODEuitsluit] Or Is Null)
Graag uw wijsheid indeze :rolleyes::d Thanks Friend
 
In de eerste criteriumregel heb je de oorspronkelijke code (NOT etc) staan. Daaronder kun je de volgende voorwaarden zetten, zoals Is Null, of ="". Kwestie van uitproberen. Een getalveld kun je met Is Null toevoegen, een tekststring met ="".
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan