Forcer un saut de page [Résolu]

DAVIMIKA 119 Messages postés jeudi 2 novembre 2000Date d'inscription 10 janvier 2014 Dernière intervention - 27 sept. 2008 à 12:32 - Dernière réponse : DAVIMIKA 119 Messages postés jeudi 2 novembre 2000Date d'inscription 10 janvier 2014 Dernière intervention
- 7 oct. 2008 à 10:29
Bonjour,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Je voudrais éditer mon état en faisant un saut de page après les lettres



"C", "G", et "M".



 




Sur l’Entête de groupe un saut de page avant section et une zone de texte txtNomAlpha :



 




=Gauche([tbl Adhérents.NomAdhérent];1)



 




Sur <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /??><st1:personname w:st="on" productid="la zone Détail">la zone Détail</st1:personname> au formatage :



Select Case [txtLettreAlpha]






   Case "C"






        Me.Détail.ForceNewPage = 1






   Case "G"





        Me.Détail.ForceNewPage = 1



   Case "M"



        Me.Détail.ForceNewPage = 1




 
 Case Else






        Me.Détail.ForceNewPage = 0






 
End Select



 




Pour "ABC" les enregistrements se suivent bien, mais pour "C" chaque enregistrement


s’édite sur une page.



 




Merci pour votre aide



 




Salutations
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
DAVIMIKA 119 Messages postés jeudi 2 novembre 2000Date d'inscription 10 janvier 2014 Dernière intervention - 7 oct. 2008 à 10:29
3
Merci
Bonjour,

Merci pour vos réponses mon code initial était bon sauf qu'il fallait mettre
Me.PiedGroupe0 à la place de Me.Detail.

Select Case [txtLettreAlpha]<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

   Case "C"

        Me.PiedGroupe0.ForceNewPage = 2
   Case "G"

        Me.PiedGroupe0.ForceNewPage = 2
   Case "M"

      Me.PiedGroupe0.ForceNewPage = 2
   Case Else

        Me.PiedGroupe0.ForceNewPage = 0

 End Select

Salutations.

Merci DAVIMIKA 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de DAVIMIKA
pile_poil 682 Messages postés vendredi 6 avril 2007Date d'inscription 4 août 2012 Dernière intervention - 27 sept. 2008 à 13:20
0
Merci
bonjour
le comportement que tu décris me semble logique puisque à chaque ligne tu viens tester si txtLettreAlpha est C et tant qu'il l'est il fait le saut de page
 il te faut donc créer une variable de controle et c'est selon l'état de cette variable que tu feras ton saut de page
donc par exemple en tout début de programme
public varC as boolean, varG as boolean, varM as boolean
varC = false
varG = false
varM =false
puis dans ta routine
Select Case [txtLettreAlpha]

   Case "C"

        varM= false 'pour remettre tes variables à la bonne valeur pour la seance d'impression suivante

        if varC = false then

               Me.Détail.ForceNewPage = 1

               varC = true

        end if

   Case "G"
        varC= false 'pour remettre tes variables à la bonne valeur pour la seance d'impression suivante

        if varG = false then

               Me.Détail.ForceNewPage = 1

               varG = true

        end if

Case "M"

        varG= false 'pour remettre tes variables à la bonne valeur pour la seance d'impression suivante
        if varM = false then

               Me.Détail.ForceNewPage = 1

               varM = true

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
pile_poil 682 Messages postés vendredi 6 avril 2007Date d'inscription 4 août 2012 Dernière intervention - 27 sept. 2008 à 13:21
0
Merci
oups !!!!!
ce que je t'ai écrit est valable en VB6 a toi d'adapter à la syntaxe de VB.net

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 27 sept. 2008 à 13:29
0
Merci
Salut DAVIMIKA
Si j'ai bien compris

Pour les enregistrements "C", "G" et "M" tu désires qu'il y ait un saut de page dans l'édition de ton état
Ce saut de page doit intervenir pour le premier enregistrement "C" ou "G" ou "M" et les enregistrements suivants "C" ou "G" ou "M" ne doivent pas avoir ce saut de page
Il manque dans chacun de tes Select Case
                   if Enregistrement = premier enregistrement then
                           Me.Détail.ForceNewPage = 1
                   else
                           Me.Détail.ForceNewPage = 0
                   end if

On pourrait aussi faire ainsi

-  Me.Détail.ForceNewPage = 0 ( pas de saut de page au début)
do
    -  Tester si c'est le premier enregistrement "C" ou "G" ou "M"
    -  Si Oui ---> Me.Détail.ForceNewPage = 1 (forcer le saut de page pour le 1° enregistrement "C" ou "G" ou "M")
                      Editer ce premier enregistrement "C"
                      Me.Détail.ForceNewPage = 0 (ne plus forcer le saut de page)
       Si Non ---> éditer l'enregistrement
    - fin du Si Oui
Loop

Ce n'est qu'une piste à explorer pour solutionner ton problème

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
Commenter la réponse de cs_Galain

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.