Problème de code IF et report ?

cs_Gdal Messages postés 30 Date d'inscription vendredi 21 juin 2002 Statut Membre Dernière intervention 9 mai 2003 - 9 août 2002 à 13:19
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Derniè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
------------------------------------------------

Private Sub fermer_Click()

'Fermer les états ouverts
DoCmd.Close acReport, "Listing_1"
DoCmd.Close acReport, "Listing_2"
DoCmd.Close acReport, "Listing_3"

'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 !

Merci d'avance deu coup de main !

Gwendal

6 réponses

ragnagnac Messages postés 36 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 3 septembre 2002
9 août 2002 à 14:45
Pour savoir si une case est cochée, tu dois tester la fonction : "CaseACocher.value = True" et non "CaseACocher = True" toute seul...

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
0
cs_Gdal Messages postés 30 Date d'inscription vendredi 21 juin 2002 Statut Membre Derniè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.
0
ragnagnac Messages postés 36 Date d'inscription mercredi 10 juillet 2002 Statut Membre Derniè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)
0
cs_Gdal Messages postés 30 Date d'inscription vendredi 21 juin 2002 Statut Membre Derniè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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ragnagnac Messages postés 36 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 3 septembre 2002
13 août 2002 à 00:56
Je te remercies, j'avais juste mal compris ton problème... ;)

Content que tu t'en sois sorti :big)

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
0
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
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.

TBBUIM
0
Rejoignez-nous