ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

changer le nombre de page d'un état   



L'auteur

eric leissler
France France
Membre Simple
# 0000002784
enregistré le 06/03/2010
http://www.aumeric.fr
62 ans
leissler eric
85290 MORTAGNE SUR SEVRE
de la société AUMERIC LOGICIELS ( 0633412395 )
Fiche personnelle


Note des membres
pas de note

Contributions > 03 - FRX : Etat, impression, Report

changer le nombre de page d'un état
# 0000000773
ajouté le 30/09/2010 15:36:01 et modifié le 30/09/2010
consulté 4250 fois
Niveau débutant

Version(s) Foxpro :
VFP 9.0
VFP 8.0
VFP 7.0
VFP 6.0


Le téléchargement des pièces jointes est limité aux membres
Veuillez vous identifier ou vous inscrire si vous n'avez pas encore de compte ...
Description

Bonjour à toutes et à tous

exemple : pour mettre 2 pages à l'état monetat.frx
changelenombredepage("monetat.frx",2)

ensuite

report form montetat ........................

Bonne journée à tous

Eric

AUMERIC

Code source :
*!* ----------------- fonction pour chanbger le nombre de pages par défaut d'un état frx
*!*    ERIC LEISSLER
*!* AUMERIC LOGICIELS
*!*  LE 17/09/2010
*!* exemple : pour metre 2 pages à l'état monetat.frx
*!*  changelenombredepage("monetat.frx",2)

Function changelenombredepage()
Parameters  monetat As String ,nbpag As Integer
Local oldselect As String , toto As String, titi As String, quelendroit As Integer
oldselect=Select()
Use (m.monetat) In 0
Select (m.monetat)
Locate
Locate For objType = 1 And objCode = 53

m.toto= Expr
m.quelendroit=At("COPIES=",m.toto)+6
m.titi=Substr(m.toto,1,m.quelendroit) + Transform(m.nbpag)+Substr(m.toto,m.quelendroit+2,Len(m.toto))
Replace Expr With m.titi
Use

Select (oldselect)
Return
Endfunc
Commentaires
le 02/10/2010, eddymaue a écrit :
salut Eric, n'est-il pas préférable d'utiliser lcTableCourante = alias() au lieu de oldselect=Select() qui peut évoluer durant le traitement
le 02/10/2010, eric leissler a écrit :
Salut Eddy
cela n'a aucune importance que le select() évolue pendant le traitement tout comme alias() puis que
en début de traittement on sauvegarde l'environnement, le select donc dans la variable locale, oldselect

ensuite ca peut changer et ca change puisque que l'on fait un use de l 'état
puis en fin de traitement juste avant de redonner la main, on remet le select sur la bonne table avec un
select ( oldselect)

tu remarque que le use (m.monetat) et suivi de in 0 afin de s'ouvrir avec un autre numéro de select
donc le select ne change pas.
et tu ne garde en mémoire pendant le traitement qu'un entier indiquant le select et non une chaine de caractère contenant le nom de la table.
( ya pas de petites économies)


Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2019.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3