PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → problème avec la fonction HAjoute
problème avec la fonction HAjoute
Iniciado por Laetitia, jul., 05 2005 1:11 PM - 8 respostas
Publicado em julho, 05 2005 - 1:11 PM
J'ai un problème lors de l'éxécution de ce bout de code :

HRAZ(Poste)
Poste."Date de début"=EntierVersDate(JOUR[1])
Poste."Date de fin des essais"=EntierVersDate(JOUR[TABLEPLANNING..Occurrence])
Poste.Type=Type ; Poste.Confirmé=Confirme
SI CB_MOYEN>2 ALORS Poste.NumMoyen=Val(ExtraitChaîne(CB_MOYEN[CB_MOYEN],2))
SI CB_OPERATEUR>2 ALORS Poste.NumOperateur=Val(ExtraitChaîne(CB_OPERATEUR[CB_OPERATEUR],2))
SI CB_DEVIS>2 ALORS Poste."N°Devis"=Val(ExtraitChaîne(CB_DEVIS[CB_DEVIS],2))
HAjoute(Poste)

Le débeugueur se place sur la ligne HAjoute(Poste).

voilà le message d'erreur que j'obtiens :

Erreur à la ligne 16 du traitement Procédure locale EnregistrePlanning.
Vous avez appelé la fonction HAjoute.
Erreur de l'accès OLE DB.
Numéro d'erreur = 170147

Echec de la mise à jour de l'enregistrement sur la base de données.

Détail de l'erreur système :

Description = Le champ 'Poste.Poste' ne peut pas être une chaîne vide.
Source = Microsoft JET Database Engine
Help Context = 5003000
SQL State = 3315
Error Number = -2147217887
Native Error Number = -541396598



**********************************************

Informations techniques

Projet : ESSAIS

Dump de l'erreur du module <WD90HF.DLL> <9.00Bwe>.

- Appel WL :
Traitement de <tache_creation.PROCEDURE.EnregistrePlanning>, ligne <16>, thread <0>
Fonction <HAjoute>, n° de syntaxe <1>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 73001

- Code erreur WD55 : 3001

- Pas de code d'erreur système

- Message d'erreur système :
Description = Le champ 'Poste.Poste' ne peut pas être une chaîne vide.
Source = Microsoft JET Database Engine
Help Context = 5003000
SQL State = 3315
Error Number = -2147217887
Native Error Number = -541396598


- Que s'est-il passé ?
Erreur de l'accès OLE DB.
Numéro d'erreur = 170147

Echec de la mise à jour de l'enregistrement sur la base de données.

- Infos de debug :
IEWDOLDB1027
Module=<WDOLDB>
Version=<9.00Ak>
Exceptions sur code <-2147217887> autorisées

Version du MDAC = <2.80.1022.3>.



Auriez vous une idée? j'ai regardé dans l'aide de windev et je pense que la syntaxe est bonne... donc je ne vois pas du tout d'où ça peut venir...

Merci beaucoup pour vos réponses
Publicado em julho, 05 2005 - 1:16 PM
il est peut être nécessaire que je précise que j'utilise une base de données access.
Publicado em julho, 05 2005 - 1:19 PM
Bonjour,

L'erreur est à rechercher dans la doc de votre base de données. Le message
laisse penser que la rubrique POSTE.POSTE ne peut être vide.

--
Ed en Ligne


"Laetitia" <titirose3@free.fr> a écrit dans le message de news:
42ca4425@news.pcsoft.fr...

J'ai un problème lors de l'éxécution de ce bout de code :

HRAZ(Poste)
Poste."Date de début"=EntierVersDate(JOUR[1])
Poste."Date de fin des
essais"=EntierVersDate(JOUR[TABLEPLANNING..Occurrence])
Poste.Type=Type ; Poste.Confirmé=Confirme
SI CB_MOYEN>2 ALORS
Poste.NumMoyen=Val(ExtraitChaîne(CB_MOYEN[CB_MOYEN],2))
SI CB_OPERATEUR>2 ALORS
Poste.NumOperateur=Val(ExtraitChaîne(CB_OPERATEUR[CB_OPERATEUR],2))
SI CB_DEVIS>2 ALORS
Poste."N°Devis"=Val(ExtraitChaîne(CB_DEVIS[CB_DEVIS],2))
HAjoute(Poste)

Le débeugueur se place sur la ligne HAjoute(Poste).

voilà le message d'erreur que j'obtiens :

Erreur à la ligne 16 du traitement Procédure locale EnregistrePlanning.
Vous avez appelé la fonction HAjoute.
Erreur de l'accès OLE DB.
Numéro d'erreur = 170147

Echec de la mise à jour de l'enregistrement sur la base de données.

Détail de l'erreur système :

Description = Le champ 'Poste.Poste' ne peut pas être une chaîne vide.
Source = Microsoft JET Database Engine
Help Context = 5003000
SQL State = 3315
Error Number = -2147217887
Native Error Number = -541396598



**********************************************

Informations techniques

Projet : ESSAIS

Dump de l'erreur du module <WD90HF.DLL> <9.00Bwe>.

- Appel WL :
Traitement de <tache_creation.PROCEDURE.EnregistrePlanning>, ligne <16>,
thread <0>
Fonction <HAjoute>, n° de syntaxe <1>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 73001

- Code erreur WD55 : 3001

- Pas de code d'erreur système

- Message d'erreur système :
Description = Le champ 'Poste.Poste' ne peut pas être une chaîne vide.
Source = Microsoft JET Database Engine
Help Context = 5003000
SQL State = 3315
Error Number = -2147217887
Native Error Number = -541396598


- Que s'est-il passé ?
Erreur de l'accès OLE DB.
Numéro d'erreur = 170147

Echec de la mise à jour de l'enregistrement sur la base de données.

- Infos de debug :
IEWDOLDB1027
Module=<WDOLDB>
Version=<9.00Ak>
Exceptions sur code <-2147217887> autorisées

Version du MDAC = <2.80.1022.3>.



Auriez vous une idée? j'ai regardé dans l'aide de windev et je pense que
la syntaxe est bonne... donc je ne vois pas du tout d'où ça peut venir...

Merci beaucoup pour vos réponses

Publicado em julho, 05 2005 - 1:31 PM
Bonjour,

HRAZ() remet tous les champs à Blanc.

Cordialement,

C.AUBRY
Publicado em julho, 05 2005 - 1:32 PM
oui j'y ai pensé mais je n'ai pas de rubrique Poste.Poste! c'est pour ça que ça me paraissait bizarre cette erreur : Poste.Poste ne peut être une chaine vide!
Publicado em julho, 05 2005 - 1:53 PM
Oui je sais mais c'est pour mettre les champs à vide pour pouvoir les remplir ensuite. lorsque je fais HAjoute, j'ai auparavent rempli les champs! et meme si j'enlève cette ligne j'ai toujours la même erreur.
Publicado em julho, 05 2005 - 2:03 PM
Par conséquent je pense que ton HRAZ() réinitialise à vide tes champs donc si tu ne les rerenseigne pas tous, cela peut crer des erreurs pour ceux qui ne gèrent pas les valeurs vides....

Peux tu nous donner la liste des champ de ta table POSTE !!!
Publicado em julho, 05 2005 - 4:11 PM
effectivement je ne remplis pas tous les champs de la table poste lors de l'execution de ce bout de code,mais je n'ai aucun champ obligatoire...
mais je pense que tu as raison... je vais changer mon code pour remplir tous les champs!

je vous tiens au courant pour si c'est ça.

Merci encore pour vos conseils et pour votre aide
Publicado em julho, 05 2005 - 4:57 PM
et bien en fait je me suis trompée dans ce que j'ai dit auparavent, en fait il y avait une dizaine de champs de cette table qui étaient mis en "chaine vide non autorisé" sous access! le problème c'est que cette base de données m'a été donnée ainsi et en fait plus ça va et plus je me rends compte que tous mes problèmes viennent de cette base!


en tout cas merci beaucoup d'avoir pris le temps de m'aider!!!

(au fait maintenant ça marche!! j'ai enlevé tous les champs obligatoires!)