PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Blocage d'enregistement
Blocage d'enregistement
Débuté par sandra_boulanger, 09 aoû. 2004 10:30 - 3 réponses
Posté le 09 août 2004 - 10:30
Voici le code suivant :

// Je pars en modification donc je bloque mon enregistrement
// en écriture
HBloqueNumEnr(FIART,TableNumEnr(Table),hBlocageEcriture)

// Si l'enregistrement est déjà bloqué alors
// j'affiche un message
SI HErreurBlocage() ALORS
Erreur("L'enregistrement est en cours de modification sur un autre poste.")
SINON
// sinon j'affiche la fiche qui va me permettre de modifier
// l'enregistrement
Ouvre("Fiche_FIART","Modif")
FIN

Le problème est que l'enregistrement qui est modifié n'est jamais bloqué.
Je ne passe jamais dans le "SI HErreurBlocage() = Vrai" donc ensuite j'ai
des problème si deux personnes modifient le même enregistrement en même temps.
Je voudrais ne pas pouvoir afficher la fiche si l'enregistrement est en cours
de modification.
Aidez-moi s'il vous plait... car je bloque...
Posté le 09 août 2004 - 13:54
"sandra" <sandra_boulanger@yahoo.fr> wrote:


Voici le code suivant :

// Je pars en modification donc je bloque mon enregistrement
// en écriture
HBloqueNumEnr(FIART,TableNumEnr(Table),hBlocageEcriture)

// Si l'enregistrement est déjà bloqué alors
// j'affiche un message
SI HErreurBlocage() ALORS
Erreur("L'enregistrement est en cours de modification sur un autre poste.")
SINON
// sinon j'affiche la fiche qui va me permettre de modifier
// l'enregistrement
Ouvre("Fiche_FIART","Modif")
FIN

Le problème est que l'enregistrement qui est modifié n'est jamais bloqué.
Je ne passe jamais dans le "SI HErreurBlocage() = Vrai" donc ensuite j'ai
des problème si deux personnes modifient le même enregistrement en même

temps.
>Je voudrais ne pas pouvoir afficher la fiche si l'enregistrement est en
cours
de modification.
Aidez-moi s'il vous plait... car je bloque...


et en remplaçant hBlocageEcriture par hBlocageLecture ou hBlocageLectureEcriture
...
Posté le 09 août 2004 - 14:10
C'est la même chose...

sandra

"Domi" <joseph.franssen@skynet.be> wrote:


"sandra" <sandra_boulanger@yahoo.fr> wrote:


Voici le code suivant :

// Je pars en modification donc je bloque mon enregistrement
// en écriture
HBloqueNumEnr(FIART,TableNumEnr(Table),hBlocageEcriture)

// Si l'enregistrement est déjà bloqué alors
// j'affiche un message
SI HErreurBlocage() ALORS
Erreur("L'enregistrement est en cours de modification sur un autre poste.")
SINON
// sinon j'affiche la fiche qui va me permettre de modifier
// l'enregistrement
Ouvre("Fiche_FIART","Modif")
FIN

Le problème est que l'enregistrement qui est modifié n'est jamais bloqué.
Je ne passe jamais dans le "SI HErreurBlocage() = Vrai" donc ensuite j'ai
des problème si deux personnes modifient le même enregistrement en même
temps.

Je voudrais ne pas pouvoir afficher la fiche si l'enregistrement est en
cours

de modification.
Aidez-moi s'il vous plait... car je bloque...


et en remplaçant hBlocageEcriture par hBlocageLecture ou hBlocageLectureEcriture
..
Posté le 09 août 2004 - 18:11
"sandra" <sandra_boulanger@yahoo.fr> wrote:


Voici le code suivant :

// Je pars en modification donc je bloque mon enregistrement
// en écriture
HBloqueNumEnr(FIART,TableNumEnr(Table),hBlocageEcriture)

// Si l'enregistrement est déjà bloqué alors
// j'affiche un message
SI HErreurBlocage() ALORS
Erreur("L'enregistrement est en cours de modification sur un autre poste.")
SINON
// sinon j'affiche la fiche qui va me permettre de modifier
// l'enregistrement
Ouvre("Fiche_FIART","Modif")
FIN

Le problème est que l'enregistrement qui est modifié n'est jamais bloqué.
Je ne passe jamais dans le "SI HErreurBlocage() = Vrai" donc ensuite j'ai
des problème si deux personnes modifient le même enregistrement en même

temps.
>Je voudrais ne pas pouvoir afficher la fiche si l'enregistrement est en
cours
de modification.
Aidez-moi s'il vous plait... car je bloque...


code qui marche:
// Tentative de blocage de l'enregistrement
BOUCLE // Répéte la tentative de blocage
HLit(NomFic,NumEnr,hBlocageEcriture)
SI PAS HErreurBlocage()
numenr_bloque=NumEnr
SORTIR // Blocage réalisé
SINON
// Fiche déjà bloquée, on lit sans bloquer
HLit(NomFic,NumEnr)
xFichierVersEcran() // Pour afficherGestion de fichier les informations

// Confirmation d'une nouvelle tentative de blocage
SI PAS OuiNon("Cette fiche est bloquée par un autre poste ou par une autre
tâche."+RC+...
"Voulez-vous tenter à nouveau l'accès à cette fiche?")
NumEnr_bloque=0
valide..Etat=Grisé // on GRISE donc pas de maj possible car deja bloqué.
SORTIR
// ferme // Abandonne le blocage: sort de la fenêtre
FIN
FIN
FIN

xfichierversecran() // Pour afficher les informations