cs_Gdal
Messages postés30Date d'inscriptionvendredi 21 juin 2002StatutMembreDernière intervention 9 mai 2003
-
9 août 2002 à 13:19
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 2011
-
13 mai 2004 à 15:57
J'ai un formulaire "Imprimer"
avec des cases à cocher "Listing 1" ; "Listing 2" ; "Listing 3" ;
un bouton apercu... qui ouvre: l'état correspondant au choix de l'utilisateur
un petit formulaire "Navigation" contenant deux boutons -> Fermer et Imprimer
qui réduit le formulaire "Imprimer"
Je voudrais savoir ou est le problème avec ce code ... (Je connais rien au VBA, donc je bidouille !)
Code du petit formulaire "Navigation"
Private Sub imprimer_Click()
'Imprimer l'état Listing_1
If "Listing_1" = True Then
DoCmd.OpenReport "Listing_1", acNormal
End If
'Imprimer l'état Listing_2
If "Listing_2" = True Then
DoCmd.OpenReport "Listing_2", acNormal
End If
'Imprimer l'état Listing_3
If "Listing_3" = True Then
DoCmd.OpenReport "Listing_3", acNormal
End If
End Sub
------------------------------------------------
'Sélectionner le formulaire Imprimer pour le rendre actif
DoCmd.SelectObject acForm, "Imprimer"
'Restorer le formulaire Imprimer
DoCmd.Restore
'Sélectionner le formulaire Navigation pour le rendre actif
DoCmd.SelectObject acForm, "Navigation"
'Fermer le menu de navigation
DoCmd.Close
End Sub
---------------------------------------------------------
Pour fermer y a peut-être plus simple et moins tordu mais sa marche !
Par contre pour Imprimer, j'ai l'erreur suivante:
"Erreur d'exécution '13' ; Incompatibilité de type
je pense bien savoir ou sa cloche
-> If "Listing_1" = True Then
mais je vois pas ce que je dois mettre ?
il faut peut être déclarer une variable état ? je sais pas !!
ou mettre
If Report.["Listing trié par artiste"] = True Then
DoCmd.OpenReport "Listing trié par Artiste", acNormal
End If
mais erreur 424
Quand on connait le VBA, mes codes paraissent surement stupides ! mais je passe déjà pas mal de temps sur les forums à la rehcerche de codes alors si je tatonne pas j'y arriverais jamais !
cs_Gdal
Messages postés30Date d'inscriptionvendredi 21 juin 2002StatutMembreDernière intervention 9 mai 2003 9 août 2002 à 20:12
en faite le petit formulaire se présente comme sa
-------------------------------------
I BP_Fermer BP_Imprimer I 8-)
------------------------------------
Il n'y a en tout et pour tout que 2 boutons . rien d'autre.
je veux imprimer l'état qui est ouvert !
j'ai un seul formulaire "Navigateur" pour 3 listing ...
c'est toutjours le même petit formulaire qui s'ouvre...
donc faut que je m'appuie sur l'état ouvert (de toute manière je me suis arrangé pour qu'il y est toujours un et un seul état d'ouvert.)
Je cherche juste le code qui permette de dire
si listing_1 ouvert alors imprimer listing_1
si listing_2 ouvert alors imprimer listing_2
si listing_3 ouvert alors imprimer listing_3
tout sa sur le BP imprimer....
Plus clair ? :dissapprove)
merci
Gwendal
L'amour est la victoire de l'imagination sur l'intelligence.
ragnagnac
Messages postés36Date d'inscriptionmercredi 10 juillet 2002StatutMembreDernière intervention 3 septembre 2002 12 août 2002 à 14:59
Moi, j'utilise normalement la commande :
DoCmd.OpenReport pour ouvrir des états...
Ainsi, si une case est cochée dans mon formulaire, j'appelle l'état concerné... et c'est toujours celui qui est actif qui est imprimable...
En fait, je vois pas ton pb , désolé :dissapprove)
C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
cs_Gdal
Messages postés30Date d'inscriptionvendredi 21 juin 2002StatutMembreDernière intervention 9 mai 2003 12 août 2002 à 19:42
Dans le formulaire imprimer lorsque l'utilisateur faisait son choix et cliquait sur apercu, les actions qui se déroulaient était celle-ci:
réduire le formulaire imprimer
ouvrir l'etat sélectionné
ouvrir le formulaire de navigation ! = > donc l'état n'était plus valide !
pour résoudre le problème on ma consellé de récupérer la valeur du caption validé dans le formulaire imprimer ! comment sa je sais quel état est ouvert !
si tu veux je te l'envois tu verras !
PROBLEME RESOLU !
Gwendal
L'amour est la victoire de l'imagination sur l'intelligence.
Vous n’avez pas trouvé la réponse que vous recherchez ?
tbbuim1
Messages postés940Date d'inscriptionjeudi 20 février 2003StatutMembreDernière intervention 3 février 20119 13 mai 2004 à 15:57
Salut les gars!
alors beaucoup de blabla pour pas grand chose...
quand on est sous Access il faut se plier à sa syntaxe.
Aussi, pour faire référence au case à cocher du formulaire, il faut écrire:
if (Me.Listing_1 = true) then docmd.OpenReport "Listing1", acNormal
Cela imprime directement le report listing1
Pas besoin de le fermer, puisqu'il ne s'ouvre pas.
Si on veut le voir en mode aperçu, il suffit d'écrire acPreview
Voilà, mais tout cela est très bien expliqué dans l'aide Access.