Je travaille sous Access 2000 et je désire imprimer au moment ou je clique
sur un bouton:
- le formulaire en cours.
- un autre formulaire que j'ouvre à ce moment et qui est placé sur
l'enregistrement qui m'intéresse.
Lorsque je place le > DoCmd.PrintOut acSelection au form_load() de ce
dernier formulaire, un message me dit qu'il ne peu pas executer cette
commande dans un evenement de formulaire ou d'état.
Je ne veux pas imprimer systèmatiquement les deux formulaires. Je veux le
faire seulement si l'enregistrement qui m'intéresse existe dans le formulaire
supplémentaire (je fais déja apparaitre ce formulaire uniquement quand
l'enregistrement existe).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ze Titi
Bonjour selegorn
Place ce code dans un module quelconque:
Function IsVisible(intObjType As Integer, strObjName As String) As Boolean Dim intObjState As Integer intObjState = SysCmd(acSysCmdGetObjectState, intObjType, strObjName) IsVisible = intObjState And acObjStateOpen End Function
Ensuite, place dans le code qui déclenche l'ouverture du second formulaire, à la suite de son ouverture:
If IsVisible(acForm, "tonFormulaire") Then DoCmd.SelectObject acForm, "tonFormulaire" DoCmd.PrintOut acSelection End If
Dis-nous !
Dans ton message
Bonjour,
Je travaille sous Access 2000 et je désire imprimer au moment ou je clique sur un bouton: - le formulaire en cours. - un autre formulaire que j'ouvre à ce moment et qui est placé sur l'enregistrement qui m'intéresse.
Lorsque je place le > DoCmd.PrintOut acSelection au form_load() de ce dernier formulaire, un message me dit qu'il ne peu pas executer cette commande dans un evenement de formulaire ou d'état.
Je ne veux pas imprimer systèmatiquement les deux formulaires. Je veux le faire seulement si l'enregistrement qui m'intéresse existe dans le formulaire supplémentaire (je fais déja apparaitre ce formulaire uniquement quand l'enregistrement existe).
Merci à l'avance pour vos réponses.
-- Voilou ! Bon courage ! Cordialement, ze Titi
Bonjour selegorn
Place ce code dans un module quelconque:
Function IsVisible(intObjType As Integer, strObjName As String) As
Boolean
Dim intObjState As Integer
intObjState = SysCmd(acSysCmdGetObjectState, intObjType,
strObjName)
IsVisible = intObjState And acObjStateOpen
End Function
Ensuite, place dans le code qui déclenche l'ouverture du second
formulaire, à la suite de son ouverture:
If IsVisible(acForm, "tonFormulaire") Then
DoCmd.SelectObject acForm, "tonFormulaire"
DoCmd.PrintOut acSelection
End If
Dis-nous !
Dans ton message <61B49E64-4075-4209-8FA5-B614F571E681@microsoft.com>
Bonjour,
Je travaille sous Access 2000 et je désire imprimer au moment ou je clique
sur un bouton:
- le formulaire en cours.
- un autre formulaire que j'ouvre à ce moment et qui est placé sur
l'enregistrement qui m'intéresse.
Lorsque je place le > DoCmd.PrintOut acSelection au form_load() de ce
dernier formulaire, un message me dit qu'il ne peu pas executer cette
commande dans un evenement de formulaire ou d'état.
Je ne veux pas imprimer systèmatiquement les deux formulaires. Je veux le
faire seulement si l'enregistrement qui m'intéresse existe dans le formulaire
supplémentaire (je fais déja apparaitre ce formulaire uniquement quand
l'enregistrement existe).
Function IsVisible(intObjType As Integer, strObjName As String) As Boolean Dim intObjState As Integer intObjState = SysCmd(acSysCmdGetObjectState, intObjType, strObjName) IsVisible = intObjState And acObjStateOpen End Function
Ensuite, place dans le code qui déclenche l'ouverture du second formulaire, à la suite de son ouverture:
If IsVisible(acForm, "tonFormulaire") Then DoCmd.SelectObject acForm, "tonFormulaire" DoCmd.PrintOut acSelection End If
Dis-nous !
Dans ton message
Bonjour,
Je travaille sous Access 2000 et je désire imprimer au moment ou je clique sur un bouton: - le formulaire en cours. - un autre formulaire que j'ouvre à ce moment et qui est placé sur l'enregistrement qui m'intéresse.
Lorsque je place le > DoCmd.PrintOut acSelection au form_load() de ce dernier formulaire, un message me dit qu'il ne peu pas executer cette commande dans un evenement de formulaire ou d'état.
Je ne veux pas imprimer systèmatiquement les deux formulaires. Je veux le faire seulement si l'enregistrement qui m'intéresse existe dans le formulaire supplémentaire (je fais déja apparaitre ce formulaire uniquement quand l'enregistrement existe).
Merci à l'avance pour vos réponses.
-- Voilou ! Bon courage ! Cordialement, ze Titi
selegorn
Merci et Bravo! Ton code VBA marche à merveille pour ce que je voulais faire!
Salutations ze Titi!
Merci et Bravo! Ton code VBA marche à merveille pour ce que je voulais faire!