Printscreen knop maken in Access

  • Onderwerp starter Onderwerp starter Risk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.
Wat wil je filteren? Je gebruikt onder Knop433 twee filters:
Code:
sFilter = "[Jaar]=" & Me.cboJaar
en
Code:
sVelden = sVelden & Me("txtInput" & i)
Je opent het rapport alleen met de tweede
Code:
DoCmd.OpenReport stDocName, acPreview, OpenArgs:=sVelden
Dan hoef je het sFilter natuurlijk ook niet te maken :)
 
Michel,

In het formulier filter ik op jaar. Die waardes moeten ook naar het rapport incl. de variabele waardes (niet aan een tabel gekoppeld). In mijn beleving filter ik dus in het formulier sec op jaar.

Risk
 
Dat doe je dus niet. Je filtert het formulier namelijk helemaal niet, je maakt alleen een filter. Dat je vervolgens niet gebruikt.
De filters zijn volgens mij in deze constructie ook niet samen te gebruiken; sFilter heeft een veldnaam, sVelden niet. Dat is een string met 3 waarden, verder niks.
 
MIchel,

Begint te dagen. Als ik de tekstvelden op het formulier dus nummer zoals jij hebt aangegeven in een eerdere vraag, dan zou het werken. Ga zo aan de slag. Als dat zo is, dan kan ik verder. Komt a.s.a.p. terug.

Risk
 
Michel,

Voorlopig werkt het. Nog even te vroeg om te sluiten.

Risk
 
Michel,

Bezig knippen en plakken in het rapport (wordt mooi) en ik druk op print. Krijg ik niet een enkel rapport, maar alle oefenbestanden (32) uit de printer. Was evenschrikken.

Hoe zet ik dit uit en krijg ik slechts 1 print? Je valt van het een in het ander. Blij met de oplossing, heb ik dit weer.

reactie met belangstelling als altijd t.g.m. ziende.

Risk
 
Rapporten filteren in de Weergave modus, niet in de Afdrukstand. Je moet ze dus, met het huidige filter, weergeven en dan op de printknop drukken.
Alternatief: de Recordbron van het rapport aanpassen, zodat daar een gefilterde query onder hangt. Een rapport drukt namelijk af wat er in de recordbron zit.
 
Michel,

Rapporten filteren in de Weergave modus, niet in de Afdrukstand. Je moet ze dus, met het huidige filter, weergeven en dan op de printknop drukken.

Deze snap ik niet. Ik maak het invulformulier, druk op de knop, en kom in het afdrukgedeelte. Daar klik ik op afdrukken. Zal door de inmiddels door al het zoeken vierkante ogen komen, maar Weergave modus (= is dit het formulier?). Als ik op de knop druk kom ik met de code in het afdrukgebeuren. Moet ik ergens een code aanpassen?

Snap er helemaal niets meer van. Bijna klaar en dan nog net weer niet.

Risk
 
Weergave modus van het rapport. Een rapport heeft verschillende 'views' die je kunt kiezen bij het openen. Rapportweergave is zeg maar de Afdrukweergave modus, die met het filter werkt. En de acNormal stuurt het rapport gelijk naar de printer, maar dan werkt het filter niet.
 
Michel,

Weer iets duidelijker. Maar goed in de code staat
. Het probleem is dus dat alles wordt uitgeprint. Hoe voorkom ik dat dus?

Reactie meer dan gewaardeerd. Als dat werkt kan ik de database gaan fatsoeneren en checken, kan ik het project operationeel maken.

Dank als altijd,

Risk
 
Zoals ik al aangaf, zou Preview de juiste data laten zien, acNormal drukt het hele rapport af. Wil je een selectie afdrukken (heb je gelijk ook de juiste preview), dan kun je beter de bron van het rapport aanpassen. Zelf gebruik ik dan meestal een vaste tabel of query als basis voor het rapport, waarvan ik middels QueryDefs (bij gebruik van een query) de SQL aanpas, zodat het rapport gekoppeld is aan één query, met steeds wisselende gegevens.
Overigens snap ik het probleem dus echt niet, want als ik een rapport open dat is gebaseerd op een tabel dan drukt hij alles af, en als ik hetzelfde rapport open (in preview) met een filter, dan zie ik (en drukt hij) alleen de gefilterde records. Dat doe ik dan zo:
Code:
    Me.Form.Visible = False
    DoCmd.OpenReport stDocName, acPreview, , Me.Filter
EN nooit een probleem dus met afdrukken...
 
Michel,

Ik baseer mijn rapport niet op een tabel of query, maar op het rekenblad dat ik heb gemaakt. De data die ik invul om mee te rekenen zijn niet vanuit een query of tabel. Wij (lees jij) hebben gedurende deze discussie deze oplossing aangebracht:
Code:
Private Sub Knop433_Click()


Dim stDocName As String, sVelden As String
Dim i As Integer
   
    stDocName = "Rapport3"
  
   Me.Form.Visible = False
    For i = 0 To 3
        If i > 0 Then sVelden = sVelden & "|"
        sVelden = sVelden & Me("txtInput" & i)
    Next i

    DoCmd.OpenReport stDocName, acPreview, OpenArgs:=sVelden
    
End Sub

In mijn stellige overtuiging moet daar dus iets in, maar heb uren gezocht op internet in diverse fora, via diverse zoekopties, maar niets gevonden dat het probleem oplost. Een macro? Die moet je weer baseren op een tabel of query. Begin een beetje moedeloos te worden. Zo dicht bij een perfecte oplossing en dan net niet.

Risk :shocked:
 
Michel,

Is er nog zicht op de oplossing vanuit jou enorme kennis van VBA en aanverwanten? Ik ben uitgezocht in mijn dikke Access boek.

Dank,
Risk
 
Met een nieuw voorbeeldje? Sure...
 
Michel,

Denk dat ik het "lek"boven heb. In het rapport stond een verwijzing naar een query, omdat ik zo slim als ik ben, een berekening daar uit in het rapport had gezet. En ja hoor dan komen dus alle onderliggende records mee. De queryverwijzing er uit en hopla, 1 rapport!

Test nog verder misschien hobbelt er nog wat, maar voorlopig een vlakke zee.

Risk
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan