OVH Cloud OVH Cloud

[WD7.5 204g] Problème de suppression dans un fichier

11 réponses
Avatar
julekdata
Bonjour,

J'ai un petit soucis.
J'ai une fenêtre avec une table liée à un fichier.
Lorsque je veux supprimer un des enregistrements qui se trouvent dans
la table, je fais mon traitement et hsupprime(NomFichier)
L'enregistrement n'est pas supprimé (C ce que je voulais car il est
utilisé ailleurs car lié à un autre fichier) mais comment puis-je
savoir qu'il est utilisé ailleurs.

En fait, l'enregistrement n'est pas supprimé mais rien ne dit à
l'utilisateur que c'est parce qu'il est utilisé ailleurs. Comment le
savoir? Pas d'erreur retourné....


Merci d'avance

J'espère que mon paragraphe n'est pas trop confus.

Julek

10 réponses

1 2
Avatar
Romain PETIT
Julek a écrit :

Bonjour,



Bonjour,

En fait, l'enregistrement n'est pas supprimé mais rien ne dit à
l'utilisateur que c'est parce qu'il est utilisé ailleurs. Comment le
savoir? Pas d'erreur retourné....



Es-tu sûr d'avoir bien lu l'aide à hsupprime ?

"Si un problème de blocage apparaît lors de la "suppression" d'un
enregistrement (tentative de suppression d'un enregistrement bloqué en
écriture par exemple), l'enregistrement n'est pas supprimé et la fonction
HErreurBlocage renvoie Vrai."

--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
Alex Jaime
Bonjour

Voir HGereIntegriteOui et HErrintégrité

Alex


"Julek" a écrit dans le message news:

Bonjour,

J'ai un petit soucis.
J'ai une fenêtre avec une table liée à un fichier.
Lorsque je veux supprimer un des enregistrements qui se trouvent dans
la table, je fais mon traitement et hsupprime(NomFichier)
L'enregistrement n'est pas supprimé (C ce que je voulais car il est
utilisé ailleurs car lié à un autre fichier) mais comment puis-je
savoir qu'il est utilisé ailleurs.

En fait, l'enregistrement n'est pas supprimé mais rien ne dit à
l'utilisateur que c'est parce qu'il est utilisé ailleurs. Comment le
savoir? Pas d'erreur retourné....


Merci d'avance

J'espère que mon paragraphe n'est pas trop confus.

Julek


Avatar
Romain PETIT
Julek a écrit :

Oui, mais là HErreurBlocage renvoie Faux !?!?!?




Alors ce n'est pas un éventuel blocage qui empeche la suppression de
l'enregistrement.

Dans quel mode travailles-tu (HMode et hSurErreur) ?

HMode(hModeMulti)
HSurErreur("*",hErrTout,"")

Que donne ce type de test :

sFichierHF est une chaine="FICHIER"

bRes=HSupprime(sFichierHF)
SI PAS bRes ALORS
SI HErreurDoublon() ALORS
Erreur("Erreur de doublon sur fichier " + sFichierHF +RC+
HErreurInfo(hErrMessage))
SINON
SI HErreurIntégrité() ALORS
Erreur("Erreur d'intégrité sur fichier " + sFichierHF +RC+
HErreurInfo(hErrMessage))
SINON
SI HErreurBlocage() ALORS
Erreur("Erreur de blocage sur fichier "+ sFichierHF+ " - " +
HErreurInfo(hErrMessage))
SINON
Erreur("Erreur HF N° " + HErreur())
FIN
FIN
FIN
FIN
RENVOYER bRes



--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
Jean Cougnaud
Bonjour,

Pour supprimer un enregistrement dans une table fichier il faut utiliser
TableSupprime sinon il faut que tu te repositionnes par programmation sur
l'enregistrement voulu pour faire le HSupprime. Et là il faudra en plus
rafraichir la table .

Ou alors je n'ai pas compris ton problème :-(

Jean Cougnaud


"Julek" a écrit dans le message de
news:
Bonjour,

J'ai un petit soucis.
J'ai une fenêtre avec une table liée à un fichier.
Lorsque je veux supprimer un des enregistrements qui se trouvent dans
la table, je fais mon traitement et hsupprime(NomFichier)
L'enregistrement n'est pas supprimé (C ce que je voulais car il est
utilisé ailleurs car lié à un autre fichier) mais comment puis-je
savoir qu'il est utilisé ailleurs.

En fait, l'enregistrement n'est pas supprimé mais rien ne dit à
l'utilisateur que c'est parce qu'il est utilisé ailleurs. Comment le
savoir? Pas d'erreur retourné....


Merci d'avance

J'espère que mon paragraphe n'est pas trop confus.

Julek


Avatar
julekdata
On Thu, 4 Sep 2003 16:57:27 +0200, "Romain PETIT"
wrote:

Julek a écrit :

Oui, mais là HErreurBlocage renvoie Faux !?!?!?




Alors ce n'est pas un éventuel blocage qui empeche la suppression de
l'enregistrement.

Dans quel mode travailles-tu (HMode et hSurErreur) ?

HMode(hModeMulti)
HSurErreur("*",hErrTout,"")




Je n'ai rien spécifié, ça doit être par défaut



Que donne ce type de test :

sFichierHF est une chaine="FICHIER"

bRes=HSupprime(sFichierHF)
SI PAS bRes ALORS
SI HErreurDoublon() ALORS


faux
Erreur("Erreur de doublon sur fichier " + sFichierHF +RC+
HErreurInfo(hErrMessage))
SINON
SI HErreurIntégrité() ALORS


0
Erreur("Erreur d'intégrité sur fichier " + sFichierHF +RC+
HErreurInfo(hErrMessage))
SINON
SI HErreurBlocage() ALORS


faux
Erreur("Erreur de blocage sur fichier "+ sFichierHF+ " - " +
HErreurInfo(hErrMessage))
SINON
Erreur("Erreur HF N° " + HErreur())


Erreur HF N° 0
FIN
FIN
FIN
FIN
RENVOYER bRes




Des idées ???


--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)



Avatar
julekdata
En fait au début c'était TableSupprime et ensuite j'ai essayé
Hsupprime et réaffichage de la table.
En fait, l'enregistrement ne se supprime pas. Je voudrait savoir s'il
y a un moyen de savoir que l'enregistrement est lié et que c'est pour
cela qu'il n'est pas supprimé. De cette façon je teste et je dit à
l'utilisateur que l'enregistrement n'est pas supprimé car il est lié
avec un autre fichié (l'enregistrement est donc utilisé dans un
enregistrement d'un autre fichier et on ne peut donc pas le supprimer)

Merci

On Thu, 4 Sep 2003 17:09:45 +0200, "Jean Cougnaud"
wrote:

Bonjour,

Pour supprimer un enregistrement dans une table fichier il faut utiliser
TableSupprime sinon il faut que tu te repositionnes par programmation sur
l'enregistrement voulu pour faire le HSupprime. Et là il faudra en plus
rafraichir la table .

Ou alors je n'ai pas compris ton problème :-(

Jean Cougnaud


"Julek" a écrit dans le message de
news:
Bonjour,

J'ai un petit soucis.
J'ai une fenêtre avec une table liée à un fichier.
Lorsque je veux supprimer un des enregistrements qui se trouvent dans
la table, je fais mon traitement et hsupprime(NomFichier)
L'enregistrement n'est pas supprimé (C ce que je voulais car il est
utilisé ailleurs car lié à un autre fichier) mais comment puis-je
savoir qu'il est utilisé ailleurs.

En fait, l'enregistrement n'est pas supprimé mais rien ne dit à
l'utilisateur que c'est parce qu'il est utilisé ailleurs. Comment le
savoir? Pas d'erreur retourné....


Merci d'avance

J'espère que mon paragraphe n'est pas trop confus.

Julek






Avatar
nospam##PASDEPUB##
Julek wrote:

En fait au début c'était TableSupprime et ensuite j'ai essayé
Hsupprime et réaffichage de la table.
En fait, l'enregistrement ne se supprime pas. Je voudrait savoir s'il
y a un moyen de savoir que l'enregistrement est lié et que c'est pour
cela qu'il n'est pas supprimé. De cette façon je teste et je dit à
l'utilisateur que l'enregistrement n'est pas supprimé car il est lié
avec un autre fichié (l'enregistrement est donc utilisé dans un
enregistrement d'un autre fichier et on ne peut donc pas le supprimer)



Oui bien sur.
C'est la gestion d'intégrité.

Il faut tester herreurintegrite


--
Posté via http://www.webatou.net/
Usenet dans votre navigateur
Complaints-To:
Avatar
julekdata
On 5 Sep 2003 09:11:31 GMT, nospam##PASDEPUB##@neogie.com (Gilles G.)
wrote:

Julek wrote:

En fait au début c'était TableSupprime et ensuite j'ai essayé
Hsupprime et réaffichage de la table.
En fait, l'enregistrement ne se supprime pas. Je voudrait savoir s'il
y a un moyen de savoir que l'enregistrement est lié et que c'est pour
cela qu'il n'est pas supprimé. De cette façon je teste et je dit à
l'utilisateur que l'enregistrement n'est pas supprimé car il est lié
avec un autre fichié (l'enregistrement est donc utilisé dans un
enregistrement d'un autre fichier et on ne peut donc pas le supprimer)



Oui bien sur.
C'est la gestion d'intégrité.

Il faut tester herreurintegrite



HErreurIntegrité() retourne 0
--
Posté via http://www.webatou.net/
Usenet dans votre navigateur
Complaints-To:



Avatar
Romain PETIT
Julek a écrit :

Il faut tester herreurintegrite


HErreurIntegrité() retourne 0




Bonjour,

ton fichier de données est peut être vérolé.
As-tu essayé de réindexer ou sur un jeu de fichiers créé pour l'occasion ?

Essaye de supprimer un enregistrement avec WDMAP, une première fois en
conservant la gestion de l'intégrité (voir menu de WDMAP), la seconde en la
supprimant.

Sinon, publie le code que tu utilises, on trouvera peut être une coquille
qui t'a échappé...

A+

--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
STASZEWSKI André
Bonsoir,

Je te suggère aussi d'aller faire un tour dans ton analyse, de revérifier
les cardinalités de tous les fichiers reliés à ton fichier en liaison avec
ta table et de refaire une génération et remise à niveau "gratuite" de tes
fichiers.

Cordialement

André STASZEWSKI.
1 2