Huidig record printen lukt mij niet

Status
Niet open voor verdere reacties.

Jerry Deladik

Gebruiker
Lid geworden
12 jan 2004
Berichten
112
Hallo,

Uit eerdere discussies heb ik wat info bij elkaar geraapt om in Access het record wat ik op dat moment in mijn formulier zie, te printen. Met de info uit eerdere discussies kan ik wel het record met de opmaak van het huidige formulier afdrukken, maar niet het record in een rapport.

Ik ben gekomen tot dit script, maar dat werkt dus niet:

Dim stDocName As String

stDocName = "Factuurafdruk"

DoCmd.RunCommand acCmdSelectRecord
DoCmd.PrintOut stDocName, acSelection

Ik krijg een foutmelding "type mismatch". Ik vermoed dat het script een formulier verwacht en geen report.

Hoe los ik dit op?
 
Dank je Vanzwam,

deze had ik al gelezen, maar hier gaat het om reeds ingevoerde gegevens.

Ik voer gegevens in in een tabel via een formulier en wil gelijk na invoeren, via een knop op het formulier, de factuur afdrukken. Dit ligt iets anders.

Toch....
 
Toch niet.

Als je van uw tabel een query maakt en uw formulier en uw rapport baseert op deze query, moet je nog enkel uw filterquery maken. Dit staat uitgelegd in mijn vorig antwoord.
 
Ik heb het geprobeerd, maar stuit op een aantal probleempjes:

1. Het formulier is nu gebaseerd op de invoerquery. Invoeren gaat goed, maar als ik door eerder ingevoerd facturen blader is er een probleem. Een factuur heeft meerdere factuurregels (2 aparte tabellen en subformulier in mijn formulier) en bij een factuur met meerdere regels moet ik net zo vaak PgDn indrukken als het aantal factuurregels. Dus voor een factuur met 4 regels moet ik 4 keer op PgDn drukken voordat ik in de volgende factuur kom.

2. Als ik in het formulier op de printknop druk (volgens jouw instructie) dan gebeurt er ca 15 sec niets en dan wil hij gaan printen. Er komt dan echter een pop-up die om een aantal parameter values van velden vraagt.

Help:-(
 
Ik heb het geprobeerd, maar stuit op een aantal probleempjes:

1. Het formulier is nu gebaseerd op de invoerquery. Invoeren gaat goed, maar als ik door eerder ingevoerd facturen blader is er een probleem. Een factuur heeft meerdere factuurregels (2 aparte tabellen en subformulier in mijn formulier) en bij een factuur met meerdere regels moet ik net zo vaak PgDn indrukken als het aantal factuurregels. Dus voor een factuur met 4 regels moet ik 4 keer op PgDn drukken voordat ik in de volgende factuur kom.

2. Als ik in het formulier op de printknop druk (volgens jouw instructie) dan gebeurt er ca 15 sec niets en dan wil hij gaan printen. Er komt dan echter een pop-up die om een aantal parameter values van velden vraagt.

Help:-(
 
Ik heb het geprobeerd, maar stuit op een aantal probleempjes:

1. Het formulier is nu gebaseerd op de invoerquery. Invoeren gaat goed, maar als ik door eerder ingevoerd facturen blader is er een probleem. Een factuur heeft meerdere factuurregels (2 aparte tabellen en subformulier in mijn formulier) en bij een factuur met meerdere regels moet ik net zo vaak PgDn indrukken als het aantal factuurregels. Dus voor een factuur met 4 regels moet ik 4 keer op PgDn drukken voordat ik in de volgende factuur kom.

2. Als ik in het formulier op de printknop druk (volgens jouw instructie) dan gebeurt er ca 15 sec niets en dan wil hij gaan printen. Er komt dan echter een pop-up die om een aantal parameter values van velden vraagt.

Help:-(
 
Uuuuuh, m'n browser gaf iedere keer een time-out, maar ondertussen toch stiekem plaatsen. Ik zal een hartig woordje met hem spreken!:evil:
 
Stuur anders even je DB. dan wil ik het wel bekijken. Ik ben nl. gewend om facturatieprogs te maken.

Ik kan je ook een DB sturen die gebaseerd is op 4 tabellen + een subformulier + een knop om dit bepaald factuur af te drukken. Uw keuze.
 
Laatst bewerkt:
Vanzwam, dank je voor het aanbod. Stuur je mailadres even naar deladik@hotmail.com dan stuur ik je de mail vanaf een ander adres. Gebruik als titel "Helpmij" anders verdwijnt het in de ongewenste mail.
 
Hi Jeroen,
Heb je database een uurtje geleden aangekregen. Heb ze even bekeken en het euvel is opgelost. Ik stuur je straks de verbeterde versie met de nodige uitleg. Ik zet het ook wel op het forum. Maar ik moet nu dringend weg voor een paar herstellingen.
 
Ziehier mijn bevindingen.

Hi Jeroen,

Uw database functioneert nu zoals u gewenst had.. Even de fouten op een rijtje zetten.

1° In uw formulier ‘Facturen’ , heb je bij de button ‘Afdrukvoorbeeld’ deze code gezet :


Private Sub Afdrukvoorbeeld_Factuur_Click()
On Error GoTo Err_Afdrukvoorbeeld_Factuur_Click

Dim stDocName As String

stDocName = "Factuurafdruk"
DoCmd.OpenReport stDocName, acViewNormal, "Filter voor Q_factuurfilter"

Rem DoCmd.RunCommand acCmdSelectRecord
Rem DoCmd.PrintOut stDocName, acSelection

Rem stDocName = "Factuurafdruk"
Rem DoCmd.OpenReport stDocName, acPreview

Exit_Afdrukvoorbeeld_Factuur_Click:
Exit Sub

Err_Afdrukvoorbeeld_Factuur_Click:
MsgBox Err.Description
Resume Exit_Afdrukvoorbeeld_Factuur_Click

End Sub

Dit moet echter zijn :

Private Sub Afdrukvoorbeeld_Factuur_Click()
On Error GoTo Err_Afdrukvoorbeeld_Factuur_Click

Dim stDocName As String

stDocName = "Factuurafdruk"
DoCmd.OpenReport stDocName, acViewPreview, "Q_factuurfilter"

Rem DoCmd.RunCommand acCmdSelectRecord
Rem DoCmd.PrintOut stDocName, acSelection

Rem stDocName = "Factuurafdruk"
Rem DoCmd.OpenReport stDocName, acPreview

Exit_Afdrukvoorbeeld_Factuur_Click:
Exit Sub

Err_Afdrukvoorbeeld_Factuur_Click:
MsgBox Err.Description
Resume Exit_Afdrukvoorbeeld_Factuur_Click

End Sub

Dit omdat uw filterquery de naam heeft : Q_factuurfilter

Voor de andere button ‘afdrukken’ is dit dus hetzelfde.

2° Je query Q_factuurinvoer bevatte te weinig gegevens aangaande adres; postcode etc… Ik heb deze aangepast..

3° De layout zou toch moeten aangepast worden, aangezien het toch voor een firma is. Het oog wil ook wat. Ik zou toch zeker in je factuurformulier de naamvelden en adresvelden bijplaatsen.

4° Er zitten ook nog fouten in het formulier ‘Klantgegevens’. Maar ik denk dat je dat wel kan oplossen.

Oh ja, de rem in uw code kan je wel verwijderen.

Voor het overige nog veel accesgenot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan