OVH Cloud OVH Cloud

Imprimer une selection (special)

25 réponses
Avatar
souricette
Bonjour,
Je souhaite modifier ce code, mais je ne sais pas par quel bout le prendre :
Private Sub Imprimer_Sélection_Click()
On Error GoTo Err_Imprimer_Sélection_Click

Dim stDocName As String
Dim MyForm As Form

stDocName = "Frm CANDIDATS"
Set MyForm = Screen.ActiveForm
DoCmd.SelectObject acForm, stDocName, True
DoCmd.PrintOut
DoCmd.SelectObject acForm, MyForm.Name, False

Exit_Imprimer_Sélection_Click:
Exit Sub

Err_Imprimer_Sélection_Click:
MsgBox Err.Description
Resume Exit_Imprimer_Sélection_Click

End Sub

ça, c'est le code généré par Access (moi je suis infoutue d'écrire une ligne)
pour demander au bouton situé sur le formulaire
Frm-ListePays
d'imprimer le Formulaire
Frm CANDIDATS
qui contient les CV commplets des candidats et repose sur la table
Tbl Candidats
Le soucis, c'est que ce code m'imprime tous les candidats de la base, et non
les quelques candidats sélectionnés dans le sous-formulaire (feuille de
données) Frm-SelectionCandidatPays Sous-formulaire

il existe bien sûr une table
Tbl-SelectionCandidatPays
source du sous-formulaire et qui permet de faire la jointure entre les tables
Tbl-ListePays
et
Tbl Candidats

Je compte sur vos lumières...
Merci

10 réponses

1 2 3
Avatar
souricette
Oui, je l'ai copié à la place du précédent :
cela ne change absolument pas le résultat
Snif....
On va y arriver ?


As-tu essayé le code donné dans le post précédent ?

Dans ton message
Le formulaire "Frm-ListePays" sur lequel se trouve le bouton qui m'interesse
est directement basé sur la table des pays "Tbl-ListePays"
Sur ce formulaire figure un sous-formulaire "Frm-SelectionCandidatPays
Sous-formulaire" qui contient les candidats préselectionnés.
Je viens de vérifier au niveau de ses propriétés, source > > SELECT [Tbl-SelectionCandidatPays].[N°SélectionCandidatPays],
[Tbl-SelectionCandidatPays].[Candidat], [Tbl-SelectionCandidatPays].[Pays],
[Tbl Candidats].[N°Candidature], [Tbl Candidats].[Civilité], [Tbl
Candidats].[Prénom], [Tbl Candidats].[NomUsage], [Tbl Candidats].[EuropeEst],
[Tbl Candidats].[AmériqueLatine], [Tbl Candidats].[Asie], [Tbl
Candidats].[Maghreb], [Tbl Candidats].[Afrique Subsaharienne], [Tbl
Candidats].[MoyenOrient], [Tbl Candidats].[Etats-Unis (FMI, BM)], [Tbl
Candidats].[Millesime] FROM ([Tbl Candidats] INNER JOIN
[Tbl-SelectionCandidatPays] ON [Tbl Candidats].[N°Candidature]
=[Tbl-SelectionCandidatPays].[Candidat])


ça aide ?


Aïïïïïe, j'avais zappé la table intermédiaire... :/
Ca se complique...
A tester:

Private Sub Imprimer_Sélection_Click()
On Error GoTo Err_Imprimer_Sélection_Click
Dim stDocName As String
Dim MyForm As Form
Dim rs as DAO.Recordset,tonFiltre As String
stDocName = "Frm CANDIDATS"
Set MyForm = Screen.ActiveForm
set rs=MyForm![Frm-SelectionCandidatPays
Sous-formulaire].Form.RecordSetClone rs.MoveLast
rs.MoveFirst
while not rs.EOF
tonFiltre=tonFiltre & "[N°Candidat]=" &
DFirst("Candidat","[tbl-selectionCandidatPays]","Pays=" & rs!N°Pays) & " AND
" rs.MoveNext Wend
tonFiltre=left(tonFiltre,len(tonFiltre)-5)
DoCmd.SelectObject acForm, stDocName, True
Forms("Frm CANDIDATS").Filter= tonFiltre
Forms("Frm CANDIDATS").FilterOn=True
DoCmd.PrintOut
DoCmd.SelectObject acForm, MyForm.Name, False
Exit_Imprimer_Sélection_Click:
Exit Sub
Err_Imprimer_Sélection_Click:
MsgBox Err.Description
Resume Exit_Imprimer_Sélection_Click

End Sub


Dans ton message du


Quels sont les noms des champs qui servent à faire la liaison entre ta
table TblCandidats et la table TblPays ?


table : [Tbl-SelectionCandidatPays], 3 champs :
"N°SélectionCandidatPays", NuméroAuto, Clef Primaire

"Candidat", numérique, liste de choix :"SELECT [Tbl
Candidats].N°Candidature, [Tbl Candidats]![Prénom] & " " & [Tbl
Candidats]![NomUsage] & ", " & [Tbl Candidats]![Civilité] AS Candidat, [Tbl
Candidats].Millesime FROM [Tbl Candidats];"

"Pays", numérique, liste de choix :"SELECT [Tbl-ListePays].[N°Pays],
[Tbl-ListePays].[Intitulé], [Tbl-ListePays].[ZoneMCI] FROM [Tbl-ListePays]"

ça répond à ta demande ?



Dans ton message du


Les retours à la ligne sont évidemment à supprimer... (défaut dans le
copier-coller qui vient probablement de mon lecteur de news)

Concernant l'erreur qui se produit, vérifie que l'orthographe des
formulaires et des contrôles soit bonne. Je n'ai pas forcément fait
attention en écrivant le code.

Sur quelle ligne bloque le code ?


C'EST BIEN LA QUESTION !
la boite de dialogue est minimaliste :
titre "Microsoft Access", icone de fermeture seule dans la barre de
titre, message: "Elément non trouvé dans cette collection", bouton "OK"
qui revient à fermer la boite de dialogue,
mais la touche F1 ne déclenche rien,
et sans aucune indication de l'élément qui n'aurait pas été trouvé.
du coup, ça devient beaucoup plus difficile de chercher à corriger
l'erreur....

Par contre, le message n'est pas le même si je me positionne sur un pays
pour lequel je n'ai pas encore sélectionné de candidat :
il me dit clairement qu'il n'y a personne
En ce jour exceptionnel du lundi 19/02/2007, tu nous as très
généreusement gratifié du message suivant:

Le code réagit étrangement :
j'ai tout copié, tout collé, et les lignes suivantes virent au rouge
avant même que je n'ai fait quoi que ce soit d'autre :
set rs=MyForm![Frm-SelectionCandidatPays
Sous-formulaire].Form.RecordSetClone

tonFiltre=tonFiltre & "N°Candidature=" &
rs!N°Pays & " AND "

------------
après tentative d'exécution, Access 2003 me signale une "erreur de
compilation erreur de synthaxe"
j'ai corrigé en supprimant les retour à la ligne dans ces 2 lignes


Mais Access bloque sur le message suivant :
"Elément non trouvé dans cette collection"
Sans autre forme d'explication


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info













Avatar
ze Titi
Tu pourrais mettre une version allégée de ta base sur
cjoint.com
?

Dans ton message
Oui, je l'ai copié à la place du précédent :
cela ne change absolument pas le résultat
Snif....
On va y arriver ?


As-tu essayé le code donné dans le post précédent ?

Dans ton message
Le formulaire "Frm-ListePays" sur lequel se trouve le bouton qui
m'interesse est directement basé sur la table des pays "Tbl-ListePays"
Sur ce formulaire figure un sous-formulaire "Frm-SelectionCandidatPays
Sous-formulaire" qui contient les candidats préselectionnés.
Je viens de vérifier au niveau de ses propriétés, source >>> SELECT [Tbl-SelectionCandidatPays].[N°SélectionCandidatPays],
[Tbl-SelectionCandidatPays].[Candidat], [Tbl-SelectionCandidatPays].[Pays],
[Tbl Candidats].[N°Candidature], [Tbl Candidats].[Civilité], [Tbl
Candidats].[Prénom], [Tbl Candidats].[NomUsage], [Tbl
Candidats].[EuropeEst], [Tbl Candidats].[AmériqueLatine], [Tbl
Candidats].[Asie], [Tbl Candidats].[Maghreb], [Tbl Candidats].[Afrique
Subsaharienne], [Tbl Candidats].[MoyenOrient], [Tbl Candidats].[Etats-Unis
(FMI, BM)], [Tbl Candidats].[Millesime] FROM ([Tbl Candidats] INNER JOIN
[Tbl-SelectionCandidatPays] ON [Tbl Candidats].[N°Candidature]
=[Tbl-SelectionCandidatPays].[Candidat])


ça aide ?


Aïïïïïe, j'avais zappé la table intermédiaire... :/
Ca se complique...
A tester:

Private Sub Imprimer_Sélection_Click()
On Error GoTo Err_Imprimer_Sélection_Click
Dim stDocName As String
Dim MyForm As Form
Dim rs as DAO.Recordset,tonFiltre As String
stDocName = "Frm CANDIDATS"
Set MyForm = Screen.ActiveForm
set rs=MyForm![Frm-SelectionCandidatPays
Sous-formulaire].Form.RecordSetClone rs.MoveLast
rs.MoveFirst
while not rs.EOF
tonFiltre=tonFiltre & "[N°Candidat]=" &
DFirst("Candidat","[tbl-selectionCandidatPays]","Pays=" & rs!N°Pays) & "
AND " rs.MoveNext Wend
tonFiltre=left(tonFiltre,len(tonFiltre)-5)
DoCmd.SelectObject acForm, stDocName, True
Forms("Frm CANDIDATS").Filter= tonFiltre
Forms("Frm CANDIDATS").FilterOn=True
DoCmd.PrintOut
DoCmd.SelectObject acForm, MyForm.Name, False
Exit_Imprimer_Sélection_Click:
Exit Sub
Err_Imprimer_Sélection_Click:
MsgBox Err.Description
Resume Exit_Imprimer_Sélection_Click

End Sub


Dans ton message du


Quels sont les noms des champs qui servent à faire la liaison entre ta
table TblCandidats et la table TblPays ?


table : [Tbl-SelectionCandidatPays], 3 champs :
"N°SélectionCandidatPays", NuméroAuto, Clef Primaire

"Candidat", numérique, liste de choix :"SELECT [Tbl
Candidats].N°Candidature, [Tbl Candidats]![Prénom] & " " & [Tbl
Candidats]![NomUsage] & ", " & [Tbl Candidats]![Civilité] AS Candidat,
[Tbl Candidats].Millesime FROM [Tbl Candidats];"

"Pays", numérique, liste de choix :"SELECT [Tbl-ListePays].[N°Pays],
[Tbl-ListePays].[Intitulé], [Tbl-ListePays].[ZoneMCI] FROM
[Tbl-ListePays]"

ça répond à ta demande ?



Dans ton message du


Les retours à la ligne sont évidemment à supprimer... (défaut dans le
copier-coller qui vient probablement de mon lecteur de news)

Concernant l'erreur qui se produit, vérifie que l'orthographe des
formulaires et des contrôles soit bonne. Je n'ai pas forcément fait
attention en écrivant le code.

Sur quelle ligne bloque le code ?


C'EST BIEN LA QUESTION !
la boite de dialogue est minimaliste :
titre "Microsoft Access", icone de fermeture seule dans la barre de
titre, message: "Elément non trouvé dans cette collection", bouton
"OK" qui revient à fermer la boite de dialogue,
mais la touche F1 ne déclenche rien,
et sans aucune indication de l'élément qui n'aurait pas été trouvé.
du coup, ça devient beaucoup plus difficile de chercher à corriger
l'erreur....

Par contre, le message n'est pas le même si je me positionne sur un
pays pour lequel je n'ai pas encore sélectionné de candidat :
il me dit clairement qu'il n'y a personne
En ce jour exceptionnel du lundi 19/02/2007, tu nous as très
généreusement gratifié du message suivant:

Le code réagit étrangement :
j'ai tout copié, tout collé, et les lignes suivantes virent au rouge
avant même que je n'ai fait quoi que ce soit d'autre :
set rs=MyForm![Frm-SelectionCandidatPays
Sous-formulaire].Form.RecordSetClone

tonFiltre=tonFiltre & "N°Candidature=" &
rs!N°Pays & " AND "

------------
après tentative d'exécution, Access 2003 me signale une "erreur de
compilation erreur de synthaxe"
j'ai corrigé en supprimant les retour à la ligne dans ces 2 lignes


Mais Access bloque sur le message suivant :
"Elément non trouvé dans cette collection"
Sans autre forme d'explication


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info










Avatar
souricette
http://cjoint.com/?cumdckxO7a

Le but de l'opération étant d'imprimer les CV complets des candidats
sélectionnés, j'ai du te laisser les autres tables,
pour alléger la base, je n'ai laissé que quielques candidats,
attention aux relations qui ont gardé la suppression en cascade.....


Tu pourrais mettre une version allégée de ta base sur
cjoint.com
?

Dans ton message
Oui, je l'ai copié à la place du précédent :
cela ne change absolument pas le résultat
Snif....
On va y arriver ?


As-tu essayé le code donné dans le post précédent ?

Dans ton message
Le formulaire "Frm-ListePays" sur lequel se trouve le bouton qui
m'interesse est directement basé sur la table des pays "Tbl-ListePays"
Sur ce formulaire figure un sous-formulaire "Frm-SelectionCandidatPays
Sous-formulaire" qui contient les candidats préselectionnés.
Je viens de vérifier au niveau de ses propriétés, source > >>> SELECT [Tbl-SelectionCandidatPays].[N°SélectionCandidatPays],
[Tbl-SelectionCandidatPays].[Candidat], [Tbl-SelectionCandidatPays].[Pays],
[Tbl Candidats].[N°Candidature], [Tbl Candidats].[Civilité], [Tbl
Candidats].[Prénom], [Tbl Candidats].[NomUsage], [Tbl
Candidats].[EuropeEst], [Tbl Candidats].[AmériqueLatine], [Tbl
Candidats].[Asie], [Tbl Candidats].[Maghreb], [Tbl Candidats].[Afrique
Subsaharienne], [Tbl Candidats].[MoyenOrient], [Tbl Candidats].[Etats-Unis
(FMI, BM)], [Tbl Candidats].[Millesime] FROM ([Tbl Candidats] INNER JOIN
[Tbl-SelectionCandidatPays] ON [Tbl Candidats].[N°Candidature]
=[Tbl-SelectionCandidatPays].[Candidat])


ça aide ?


Aïïïïïe, j'avais zappé la table intermédiaire... :/
Ca se complique...
A tester:

Private Sub Imprimer_Sélection_Click()
On Error GoTo Err_Imprimer_Sélection_Click
Dim stDocName As String
Dim MyForm As Form
Dim rs as DAO.Recordset,tonFiltre As String
stDocName = "Frm CANDIDATS"
Set MyForm = Screen.ActiveForm
set rs=MyForm![Frm-SelectionCandidatPays
Sous-formulaire].Form.RecordSetClone rs.MoveLast
rs.MoveFirst
while not rs.EOF
tonFiltre=tonFiltre & "[N°Candidat]=" &
DFirst("Candidat","[tbl-selectionCandidatPays]","Pays=" & rs!N°Pays) & "
AND " rs.MoveNext Wend
tonFiltre=left(tonFiltre,len(tonFiltre)-5)
DoCmd.SelectObject acForm, stDocName, True
Forms("Frm CANDIDATS").Filter= tonFiltre
Forms("Frm CANDIDATS").FilterOn=True
DoCmd.PrintOut
DoCmd.SelectObject acForm, MyForm.Name, False
Exit_Imprimer_Sélection_Click:
Exit Sub
Err_Imprimer_Sélection_Click:
MsgBox Err.Description
Resume Exit_Imprimer_Sélection_Click

End Sub


Dans ton message du


Quels sont les noms des champs qui servent à faire la liaison entre ta
table TblCandidats et la table TblPays ?


table : [Tbl-SelectionCandidatPays], 3 champs :
"N°SélectionCandidatPays", NuméroAuto, Clef Primaire

"Candidat", numérique, liste de choix :"SELECT [Tbl
Candidats].N°Candidature, [Tbl Candidats]![Prénom] & " " & [Tbl
Candidats]![NomUsage] & ", " & [Tbl Candidats]![Civilité] AS Candidat,
[Tbl Candidats].Millesime FROM [Tbl Candidats];"

"Pays", numérique, liste de choix :"SELECT [Tbl-ListePays].[N°Pays],
[Tbl-ListePays].[Intitulé], [Tbl-ListePays].[ZoneMCI] FROM
[Tbl-ListePays]"

ça répond à ta demande ?



Dans ton message du


Les retours à la ligne sont évidemment à supprimer... (défaut dans le
copier-coller qui vient probablement de mon lecteur de news)

Concernant l'erreur qui se produit, vérifie que l'orthographe des
formulaires et des contrôles soit bonne. Je n'ai pas forcément fait
attention en écrivant le code.

Sur quelle ligne bloque le code ?


C'EST BIEN LA QUESTION !
la boite de dialogue est minimaliste :
titre "Microsoft Access", icone de fermeture seule dans la barre de
titre, message: "Elément non trouvé dans cette collection", bouton
"OK" qui revient à fermer la boite de dialogue,
mais la touche F1 ne déclenche rien,
et sans aucune indication de l'élément qui n'aurait pas été trouvé.
du coup, ça devient beaucoup plus difficile de chercher à corriger
l'erreur....

Par contre, le message n'est pas le même si je me positionne sur un
pays pour lequel je n'ai pas encore sélectionné de candidat :
il me dit clairement qu'il n'y a personne
En ce jour exceptionnel du lundi 19/02/2007, tu nous as très
généreusement gratifié du message suivant:

Le code réagit étrangement :
j'ai tout copié, tout collé, et les lignes suivantes virent au rouge
avant même que je n'ai fait quoi que ce soit d'autre :
set rs=MyForm![Frm-SelectionCandidatPays
Sous-formulaire].Form.RecordSetClone

tonFiltre=tonFiltre & "N°Candidature=" &
rs!N°Pays & " AND "

------------
après tentative d'exécution, Access 2003 me signale une "erreur de
compilation erreur de synthaxe"
j'ai corrigé en supprimant les retour à la ligne dans ces 2 lignes


Mais Access bloque sur le message suivant :
"Elément non trouvé dans cette collection"
Sans autre forme d'explication


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info















Avatar
Eric
Bonjour Souricette,

Le lien ne fonctionne pas.

http://cjoint.com/?cumdckxO7a




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
souricette
ré-essaye : http://cjoint.com/?cumdckxO7a
je pense avoir une explication


Bonjour Souricette,

Le lien ne fonctionne pas.

http://cjoint.com/?cumdckxO7a




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
ze Titi
Même combat, ça ne fonctionne pas !

En ce jour mémorable du mardi 20/02/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
ré-essaye : http://cjoint.com/?cumdckxO7a
je pense avoir une explication


Bonjour Souricette,

Le lien ne fonctionne pas.

http://cjoint.com/?cumdckxO7a




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info



Avatar
Eric
re,
Idem
Toujours pareil.
Compresses ta bd et zippes-la, c'est préférable à un fichier .mdb qui
risque d'être volumineux.

ré-essaye : http://cjoint.com/?cumdckxO7a
je pense avoir une explication


Bonjour Souricette,

Le lien ne fonctionne pas.

http://cjoint.com/?cumdckxO7a





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
Bonjour ze Titi,

Va être dur d'aider cette gente demoiselle ;-)

Même combat, ça ne fonctionne pas !



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
ze Titi
Bonjour Eric

Tu as raison ! Mais je suis d'un naturel plutôt optimiste...

Dans ton message <# du mardi
Bonjour ze Titi,

Va être dur d'aider cette gente demoiselle ;-)

Même combat, ça ne fonctionne pas !




--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info


Avatar
souricette
en .mdb, 3 900Ko : http://cjoint.com/?cuoaFP4IWq
en .zip, 610Ko : pas voulu : trop gros
en .zip, multiple : http://cjoint.com/?cuohsbyt8u
ET http://cjoint.com/?cuohZfcGjj


re,
Idem
Toujours pareil.
Compresses ta bd et zippes-la, c'est préférable à un fichier .mdb qui
risque d'être volumineux.

ré-essaye : http://cjoint.com/?cumdckxO7a
je pense avoir une explication


Bonjour Souricette,

Le lien ne fonctionne pas.

http://cjoint.com/?cumdckxO7a





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






1 2 3