|
[Résolu] Avant de changer de volet faire EcranVersFichier ? mais ou ? |
|
Utilisateur WDF
Inscrit: 30/10/2007 10:44
Post(s): 88
|
Bonjour, J'ai un doute de programmation. J'ai onglet avec volets. Si dessous, en choisisant un volet une recherche approprié s'accomplie. OK. Mais comment faire, AVANT de passer à un autre volet, de sauvegarder ce qui vient d'être modifie dans le volet que l'on va quitter exemple avec ecranversfichier et Hmodifie. Les seuls choix sont initialisation et a chaque changement de volet. Ce sera dans le dernier mais comment ? BAV
NumVoletActif est une chaîne
NumVoletActif = ONG_PMdata..Valeur
SI NumVoletActif = 1 ALORS
HLitRecherche(PMdata,Uniek_FM_ID,UID)
FichierVersEcran(FEN_PM,PMdata)
PMsn = SAI_PM_SN..ValeurAffichée
SINON SI NumVoletActif = 2 ALORS
HLitRecherche(PMverv,Uniek_FM_ID,UID)
FichierVersEcran(FEN_PM,PMverv)
PMsn = SAI_PM_SN1..ValeurAffichée
SINON SI NumVoletActif = 3 ALORS
HLitRecherche(PMimp,Uniek_FM_ID,UID)
FichierVersEcran(FEN_PM,PMimp)
FIN
Contribution le : 15/11/2007 09:38
Edité par drcharly93 sur 19/11/2007 23:35:27
|
|
|
Re: Avant de changer de volet faire EcranVersFichier ? mais ou ? |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Citation : Mais comment faire, AVANT de passer à un autre volet, de sauvegarder ce qui vient d'être modifie dans le volet que l'on va quitter exemple avec ecranversfichier et Hmodifie. ... onglet, partie de code "A chaque modification de Onglet". POur savoir que était l'onglet précedant c'est simple : utiliser une variable (globale à la fenêtre) qui enregistre la valeur de l'onglet :
// déclarations globales de la fenête
nOngletPrecedent est un entier
// A chaque modification de onglet
// est-on déjà passé sur un onglet ?
SI nOngletPrecedent<>0 ALORS
// oui, on enregistre la fiche (peut être que les champs de l'onglet)
... ICI le code d'enregistrement
FIN
// stocke la valeur de l'onglet pour la prochaine fois
nOngletPrecedent=MoiMeme
Contribution le : 15/11/2007 11:38
|
|
|
Re: Avant de changer de volet faire EcranVersFichier ? mais ou ? |
|
Utilisateur WDF
Inscrit: 30/10/2007 10:44
Post(s): 88
|
ok merci. Et cela tiendra compte des differents fichier? car chaque volet est lie a un autre fichier. donc comment differentier les ecranversfiechier et hmodifie?
bat
Contribution le : 15/11/2007 13:03
|
|
|
Re: Avant de changer de volet faire EcranVersFichier ? mais ou ? |
|
Utilisateur WDF
Inscrit: 30/10/2007 10:44
Post(s): 88
|
Resolu Pour finir avec un long code, peut être pas le plus logique ou plus beau, mais cela fonctionne exactement comme je le veux :) Selon la présence ou non de data dans un onglet, je donne le volet une valeur (0/1). Et dans chaque volet je fais un Hmodifie pour les volets autres que celui ou je suis dedans. Sinon j'avais des problèmes avec Hmodifie quand il n'y avait pas de data présent. Merci A+
//initialisation
Info(UID)
HDésactiveFiltre(PMdata)
HDésactiveFiltre(PMverv)
HDésactiveFiltre(PMimp)
HFiltre(PMdata,Uniek_FM_ID,UID)
HLitPremier(PMdata)
SI HEnDehors() ALORS
Trace("geen pm gevonden")
RecordPM ="0"
gsRecordVerv ="0"
RecordImp ="0"
SINON
Info("test")
FichierVersEcran(FEN_PM,PMdata)
PMsn = SAI_PM_SN..ValeurAffichée
RecordPM ="1"
gsRecordVerv ="0"
RecordImp ="0"
FIN
//A chaque modif...
NumVoletActif est une chaîne
NumVoletActif = ONG_PMdata..Valeur
SI NumVoletActif = 1 ALORS
SI gsRecordVerv ="1" ALORS
EcranVersFichier(FEN_PM,PMverv)
HModifie(PMverv)
SINON
gsRecordVerv ="0"
FIN
SI RecordImp ="1" ALORS
EcranVersFichier(FEN_PM,PMimp)
HModifie(PMimp)
SINON
RecordImp ="0"
FIN
SI RecordPM ="1" ALORS
HDésactiveFiltre(PMdata)
HDésactiveFiltre(PMverv)
HDésactiveFiltre(PMimp)
HFiltre(PMdata,Uniek_FM_ID,UID)
HLitPremier(PMdata)
//HLitRecherche(PMdata,Uniek_FM_ID,UID)
FichierVersEcran(FEN_PM,PMdata)
PMsn = SAI_PM_SN..ValeurAffichée
SINON
RecordPM ="0"
FIN
SINON SI NumVoletActif = 2 ALORS
SI RecordPM ="1" ALORS
EcranVersFichier(FEN_PM,PMdata)
HModifie(PMdata)
SINON
RecordPM ="0"
FIN
SI RecordImp ="1" ALORS
EcranVersFichier(FEN_PM,PMimp)
HModifie(PMimp)
SINON
RecordImp ="0"
FIN
HDésactiveFiltre(PMdata)
HDésactiveFiltre(PMverv)
HDésactiveFiltre(PMimp)
HFiltre(PMverv,Uniek_FM_ID,UID)
HLitPremier(PMverv)
//HLitRecherche(PMverv,Uniek_FM_ID,UID)
SI HEnDehors() ALORS
Trace("geen vervanging gevonden")
gsRecordVerv ="0"
ONG_PMdata..Valeur =1
SINON
FichierVersEcran(FEN_PM,PMverv)
PMsn = SAI_PM_SN1..ValeurAffichée
gsRecordVerv ="1"
FIN
SINON SI NumVoletActif = 3 ALORS
SI RecordPM ="1" ALORS
EcranVersFichier(FEN_PM,PMdata)
HModifie(PMdata)
SINON
RecordPM ="0"
FIN
SI gsRecordVerv ="1" ALORS
EcranVersFichier(FEN_PM,PMverv)
HModifie(PMverv)
SINON
gsRecordVerv ="0"
FIN
HDésactiveFiltre(PMdata)
HDésactiveFiltre(PMverv)
HDésactiveFiltre(PMimp)
HFiltre(PMimp,Uniek_FM_ID,UID)
HLitPremier(PMimp)
//HLitRecherche(PMimp,Uniek_FM_ID,UID)
SI HEnDehors() ALORS
Trace("geen implverslag")
RecordImp ="0"
ONG_PMdata..Valeur =1
SINON
FichierVersEcran(FEN_PM,PMimp)
RecordImp ="1"
FIN
FIN
Contribution le : 15/11/2007 22:20
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|