2014-05-07 1 views
0

J'ai un formulaire personnalisé et un rapport dans Access et j'ai un bouton 'Imprimer le rapport' sur mon formulaire qui prend l'enregistrement actuel pour la base de données et imprime le rapport que j'ai créé pour cela. Mon problème est le code que j'ai fait une impression rapide sur le rapport. Une fois que j'appuie sur le bouton "Imprimer rapport" que j'ai créé, il affiche l'aperçu avant impression, puis imprime automatiquement le rapport. Je veux être en mesure de regarder l'aperçu avant l'impression du rapport, ouvrir la boîte de dialogue d'impression et être en mesure de sélectionner l'imprimante que je veux utiliser, au lieu de l'impression rapide et l'utilisation de l'imprimante par défaut. Mon code est ci-dessous pour le format actuel, je ne suis pas sûr où et comment faire cet ajustement. Merci d'avance pour toute aide!Accès Imprimer Options de rapport pour l'impression de formulaires personnalisés

Private Sub cmdPrintReport_Click() 
    Dim strReportName As String 
    Dim strCriteria As String 

    strReportName = "rptDrillReclamation" 
    strCriteria = "[HoleNumber]='" & Me![HoleNumber] & "'" 
    DoCmd.OpenReport strReportName, acViewPreview, , strCriteria 

On Error GoTo Err_cmdPrintReport_Click 

    Dim stDocName As String 

    stDocName = "rptDrillReclamation" 
    DoCmd.OpenReport stDocName, acNormal 

Exit_cmdPrintReport_Click: 
    Exit Sub 

Err_cmdPrintReport_Click: 
    MsgBox Err.Description 
    Resume Exit_cmdPrintReport_Click 

End Sub 
+0

Est-ce tout le code associé à l'événement Click du bouton? Je cherche un DoCmd.PrintOut mais je ne le vois pas. Cela me dit qu'il doit y avoir quelque chose d'autre qui s'implique. –

+0

@newbie Oui, c'est tout le code associé. Le Exit_cmdPrintReport_click je crois est ce qui est l'exécution de l'impression. –

+0

'Exit_cmdPrintReport_Click' est une étiquette, comme un marqueur de ligne utilisé pour dire au code où exécuter ensuite lorsque vous utilisez une instruction' GoTo'. Il ne fait rien pour lui-même. – Brad

Répondre

0

Vous ouvrez le rapport deux fois! Deux lignes de code commençant par DoCmd.OpenReport.

La première fois que le paramètre View est défini sur acViewPreview, il s'affiche (= aperçus) sur l'écran sans impression. La deuxième fois que le paramètre View est défini sur acNormal (= aucun aperçu), il imprime directement sur l'imprimante sans apparaître à l'écran.

BTW La deuxième fois que vous imprimez tous les enregistrements car les critères ne sont pas envoyés!

Supprimer le second Docmd.OpenReport.... Ce n'est pas nécessaire et c'est ce qui cause votre problème.

+0

Merci pour votre contribution, vous avez absolument raison. J'ai enlevé le deuxième Docmd.OpenReport et travaillé comme un charme. Je savais que je négligeais quelque chose de simple ... J'ai rendu le code un peu plus compliqué que nécessaire. Merci encore! –

Questions connexes