Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Preview & impression multiple + sauvegarde état

4 réponses
Avatar
Jiveday
Bonjour

Un bouton "Impression" déclenche la procédure suivante : impression d'un
état "Demande de facture" en 2 exemplaires, sauvegarde de l'état aux formats
Excel et Snapshot et mise à jour d'une case "Facturé" pour ne plus devoir
traiter les anciens enregistrements.

Un bouton "Preview" permet de visualiser l'état avant de lancer l'impression.

Voici mon problème. Merci d'avance pour l'aide apportée.
Est-il possible d'empêcher l'utilisateur d'imprimer via la pré visualisation ?
Ou d'enchaîner la procédure à partir du preview ?

Actuellement en enchaînant le tout, le preview ne visualise pas entièrement
la page mais affiche la suite du programme (msgbox).
Et si je mets la programmation dans l'état "avant fermeture", Access ne
permet pas d'imprimer ou sauvegarder un état déjà ouvert.

Dim stDocNom As String
Dim stFiXLS As String

stDocNom = "E_Facture"
DoCmd.OpenReport stDocNom, acNormal
'DoCmd.OpenReport stDocNom, acPreview

Dim Msg, Style, Title, Response
Msg = "Faut-il cocher la case FACTURES ?" ' Définit le message.
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' Définit les boutons.
Title = "Mise à jour case FACTURES " ' Définit le titre.
Response = MsgBox(Msg, Style, Title) ' Affiche le message.
If Response = vbYes Then ' L'utilisateur a choisi Oui.
DoCmd.OpenReport stDocNom, acNormal
DoCmd.OpenReport stDocNom, acNormal
stFichierExcel = [T] & Mid$(Now(), 7, 4) & Mid$(Now(), 4, 2) &
Left$(Now(), 2)
DoCmd.OutputTo acReport, stDocNom, acFormatXLS, ("N:\" & stFiXLS & ".xls")
DoCmd.OutputTo acReport, stDocNom, acFormatSNP, ("N:\" & stFiXLS & ".snp")

DoCmd.SetWarnings False
Dim Qry As DAO.QueryDef
Set Qry = CurrentDb.QueryDefs("R_majCaseFacture")
Qry.Execute
Set Qry = Nothing
DoCmd.SetWarnings True
Else
' Cases FACTURES non modifiées
End If
DoCmd.Close acReport, stDocNom

4 réponses

Avatar
Raymond [mvp]
Bonsoir.

tu lances ton état avec l'option acDialog et personne ne pourra l'imprimer.
au retour tu pourras lancer l'impression directe par ton code:
DoCmd.OpenReport "etat1", acViewPreview, , , acDialog


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jiveday" a écrit dans le message de
news:
Bonjour

Un bouton "Impression" déclenche la procédure suivante : impression d'un
état "Demande de facture" en 2 exemplaires, sauvegarde de l'état aux
formats
Excel et Snapshot et mise à jour d'une case "Facturé" pour ne plus devoir
traiter les anciens enregistrements.

Un bouton "Preview" permet de visualiser l'état avant de lancer
l'impression.

Voici mon problème. Merci d'avance pour l'aide apportée.
Est-il possible d'empêcher l'utilisateur d'imprimer via la pré
visualisation ?
Ou d'enchaîner la procédure à partir du preview ?

Actuellement en enchaînant le tout, le preview ne visualise pas
entièrement
la page mais affiche la suite du programme (msgbox).
Et si je mets la programmation dans l'état "avant fermeture", Access ne
permet pas d'imprimer ou sauvegarder un état déjà ouvert.

Dim stDocNom As String
Dim stFiXLS As String

stDocNom = "E_Facture"
DoCmd.OpenReport stDocNom, acNormal
'DoCmd.OpenReport stDocNom, acPreview

Dim Msg, Style, Title, Response
Msg = "Faut-il cocher la case FACTURES ?" ' Définit le message.
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' Définit les boutons.
Title = "Mise à jour case FACTURES " ' Définit le titre.
Response = MsgBox(Msg, Style, Title) ' Affiche le message.
If Response = vbYes Then ' L'utilisateur a choisi Oui.
DoCmd.OpenReport stDocNom, acNormal
DoCmd.OpenReport stDocNom, acNormal
stFichierExcel = [T] & Mid$(Now(), 7, 4) & Mid$(Now(), 4, 2) &
Left$(Now(), 2)
DoCmd.OutputTo acReport, stDocNom, acFormatXLS, ("N:" & stFiXLS &
".xls")
DoCmd.OutputTo acReport, stDocNom, acFormatSNP, ("N:" & stFiXLS &
".snp")

DoCmd.SetWarnings False
Dim Qry As DAO.QueryDef
Set Qry = CurrentDb.QueryDefs("R_majCaseFacture")
Qry.Execute
Set Qry = Nothing
DoCmd.SetWarnings True
Else
' Cases FACTURES non modifiées
End If
DoCmd.Close acReport, stDocNom




Avatar
Jiveday
Bonjour,

Je travaille avec Access2000.
- si je veux travailler avec un seul bouton :
même en lançant l'état avec l'option
DoCmd.OpenReport "etat1", acViewPreview, , acDialog
mon code ne s'arrête pas et me propose donc la msgbox.
Le retour au code se fait donc automatiquement sans que la personne puisse
se promener dans le preview pour y contrôler si tout est OK.
- si je travaille avec 2 boutons (1=preview 2=impression) la possibilité
d'imprimer avec
DoCmd.OpenReport "etat1", acViewPreview, , acDialog
existe toujours aussi bien via la petite icone imprimante que via le menu.

Merci encore pour l'aide apportée.



"Raymond [mvp]" a écrit dans le message de
news:
Bonsoir.

tu lances ton état avec l'option acDialog et personne ne pourra
l'imprimer.

au retour tu pourras lancer l'impression directe par ton code:
DoCmd.OpenReport "etat1", acViewPreview, , , acDialog


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jiveday" a écrit dans le message de
news:
Bonjour

Un bouton "Impression" déclenche la procédure suivante : impression d'un
état "Demande de facture" en 2 exemplaires, sauvegarde de l'état aux
formats
Excel et Snapshot et mise à jour d'une case "Facturé" pour ne plus
devoir


traiter les anciens enregistrements.

Un bouton "Preview" permet de visualiser l'état avant de lancer
l'impression.

Voici mon problème. Merci d'avance pour l'aide apportée.
Est-il possible d'empêcher l'utilisateur d'imprimer via la pré
visualisation ?
Ou d'enchaîner la procédure à partir du preview ?

Actuellement en enchaînant le tout, le preview ne visualise pas
entièrement
la page mais affiche la suite du programme (msgbox).
Et si je mets la programmation dans l'état "avant fermeture", Access ne
permet pas d'imprimer ou sauvegarder un état déjà ouvert.

Dim stDocNom As String
Dim stFiXLS As String

stDocNom = "E_Facture"
DoCmd.OpenReport stDocNom, acNormal
'DoCmd.OpenReport stDocNom, acPreview

Dim Msg, Style, Title, Response
Msg = "Faut-il cocher la case FACTURES ?" ' Définit le message.
Style = vbYesNo + vbQuestion + vbDefaultButton2 ' Définit les
boutons.


Title = "Mise à jour case FACTURES " ' Définit le titre.
Response = MsgBox(Msg, Style, Title) ' Affiche le message.
If Response = vbYes Then ' L'utilisateur a choisi Oui.
DoCmd.OpenReport stDocNom, acNormal
DoCmd.OpenReport stDocNom, acNormal
stFichierExcel = [T] & Mid$(Now(), 7, 4) & Mid$(Now(), 4, 2) &
Left$(Now(), 2)
DoCmd.OutputTo acReport, stDocNom, acFormatXLS, ("N:" & stFiXLS &
".xls")
DoCmd.OutputTo acReport, stDocNom, acFormatSNP, ("N:" & stFiXLS &
".snp")

DoCmd.SetWarnings False
Dim Qry As DAO.QueryDef
Set Qry = CurrentDb.QueryDefs("R_majCaseFacture")
Qry.Execute
Set Qry = Nothing
DoCmd.SetWarnings True
Else
' Cases FACTURES non modifiées
End If
DoCmd.Close acReport, stDocNom








Avatar
Raymond [mvp]
Access 2000 ignore le acdialog qui n'est pas pris en charge (access 2002
mini)

Pour pouvoir cocher les cases il faut d'abord vérifier la facture,
c'est-à-dire naviguer dans l'état sur plusieurs pages éventuellement, donc
il ne faut pas qu'un code bloque ceci. je ne vois pas bien la solution à
adopter pour empêcher un opérateur de cliquer sur l'icône imprimante.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jiveday" a écrit dans le message de news:

Bonjour,

Je travaille avec Access2000.
- si je veux travailler avec un seul bouton :
même en lançant l'état avec l'option
DoCmd.OpenReport "etat1", acViewPreview, , acDialog
mon code ne s'arrête pas et me propose donc la msgbox.
Le retour au code se fait donc automatiquement sans que la personne puisse
se promener dans le preview pour y contrôler si tout est OK.
- si je travaille avec 2 boutons (1=preview 2=impression) la possibilité
d'imprimer avec
DoCmd.OpenReport "etat1", acViewPreview, , acDialog
existe toujours aussi bien via la petite icone imprimante que via le menu.

Merci encore pour l'aide apportée.



Avatar
Jiveday
Merci Raymond

ceci m'évitera de continuer à chercher comme un malade (les utilisateurs en
veulent toujours plus !).

Bonne journée

"Raymond [mvp]" a écrit dans le message de
news:
Access 2000 ignore le acdialog qui n'est pas pris en charge (access 2002
mini)

Pour pouvoir cocher les cases il faut d'abord vérifier la facture,
c'est-à-dire naviguer dans l'état sur plusieurs pages éventuellement, donc
il ne faut pas qu'un code bloque ceci. je ne vois pas bien la solution à
adopter pour empêcher un opérateur de cliquer sur l'icône imprimante.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Jiveday" a écrit dans le message de news:

Bonjour,

Je travaille avec Access2000.
- si je veux travailler avec un seul bouton :
même en lançant l'état avec l'option
DoCmd.OpenReport "etat1", acViewPreview, , acDialog
mon code ne s'arrête pas et me propose donc la msgbox.
Le retour au code se fait donc automatiquement sans que la personne
puisse


se promener dans le preview pour y contrôler si tout est OK.
- si je travaille avec 2 boutons (1=preview 2=impression) la possibilité
d'imprimer avec
DoCmd.OpenReport "etat1", acViewPreview, , acDialog
existe toujours aussi bien via la petite icone imprimante que via le
menu.



Merci encore pour l'aide apportée.