Cancelen van een printopdracht geeft fout

Status
Niet open voor verdere reacties.

raymin

Gebruiker
Lid geworden
24 aug 2010
Berichten
127
Ik heb een knop op mijn rapport staan met de simpele code
Code:
DoCmd.RunCommand acCmdPrint

dit werkt prima, echter als ik besluit de printopdracht te stoppen krijg ik natuurlijk een foutmelding, omdat de opdracht is gestopt.

Met welke errorcode kan ik dat het beste afhandelen?
 
Laatst bewerkt:
Waarom druk je het rapport niet af via een formulier? Heb je meer controle.
 
Daar was ik inmiddels ook achter dat handiger gaat ;-)

Kan ik dan "naast"de printknop een "maak rapport" knop maken, waarbij ik dan als filter een record kan gebruiken die op dat moment in beeld is?

Met andere woorden.

Ik heb een formulier die laat zien "klant / project / gemaakte uren / datum enz" Als de printknop dan toch op het formulier komt, zou het handig zijn als ik kan filteren op wat ik zie in het rapport. Welke code gebruik ik dan daarvoor?

Iets als?
Code:
 stDocName = "Complete staat met alle posten"
    sArgs = "[projectnaam]=" & Me.Projectnaam.Value
    DoCmd.OpenReport stDocName, acViewReport, , , , sArgs
 
Laatst bewerkt:
Ik raad deze methode sterk af, omdat het afdrukken van een rapport vanuit een formulier nogal eens fout gaat; i.p.v. het geselecteerde record wordt dan het hele rapport afgedrukt. Filteren (en vervolgens afdrukken) werkt eigenlijk alleen goed vanuit de preview. Wat ik dus aanraad is om de SQL van de query die onder het rapport hangt te bewerken zodat het rapport altijd het juiste record als filter bevat. Dan kan er niks meer misgaan, noch met afdrukken noch met bekijken. In het laatste draadje van Dinoshop staat daar een voorbeeldje van (zoals ik al zei: dit is de door mij aanbevolen werkwijze :) ).
 
Ha OctaFish,

Bedankt voor de snelle reacties.

Ik zie even af van dat printen verhaal, maar zit nog even met het volgende.

Ik heb een knop op mijn formulier waarmee ik een rapport oproep. Nou gebruik ik een gesplits formulier (boven het formulier en daaronder zie je de records) Ik filter op deze records. Bijvoorbeeld op datum en projectnaam.

Welke code geeft ik nou mee aan de knop van het rapport om de filtering mee te geven.

Dit zit nu onder de knop
Code:
Private Sub Maak_rapport_all_Click()

stDocName = "Complete staat met alle posten"
    DoCmd.OpenReport stDocName, acViewReport
    
End Sub
Ik neem aan dat er een filteroptie (sfilter?) in de code moet worden opgenomen. Ik filter dan op projectnaam en datum bijvoorbeeld, wat moet ik dan nog toevoegen aan de code?
 
Komma's typpen achter je opdracht tot je WHERE tegenkomt. Dát is dan je filter.
 
Hmm kom er niet echt uit. Of echt niet dat mag ook ;-)

(misschien doe ik wel iets constructiefs fout en/of kan het helemaal niet wat ik wil)

Ik heb een Tabel met (klant / project / datum / uren / km / enz. Deze roep ik op via een formulier. (dit formulier is geplitst zodat ik onder het de invulvakjes van het formulier de records zie staan)

Nu heb ik een rapport "CompleteReport" gemaakt.

Ik heb een knop gemaakt op het Formulier, waarmee ik dit rapport oproep. (dan staan alle record hier in)

Hoe doe ik het nu;
In het rapport zelf filter ik nu wat ik wil hebben/zien, bijvoorbeeld op klant of datum (of allebei) Daarna maak ik er een pdfje van.

Wat ik eigenlijk wil, is dat ik de records die ik zie onder mijn formulier filter op klant en/of datum (dit doe ik dan dus in het formulier)

Als ik dan vervolgens op de Rapportknop klik, dat dan deze filtering meteen wordt meegenomen.
 
Zou toch echt moeten werken via de WHERE parameter. Maar vele malen beter is het dus om de query die onder het rapport hangt aan te passen middels de QueryDefs collectie. Zoals hier staat beschreven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan