PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Pb d'ajout d'enregistrement dans un fichier ! (HAjoute())
Pb d'ajout d'enregistrement dans un fichier ! (HAjoute())
Débuté par F MATHIEU, 06 juil. 2004 18:03 - 4 réponses
Posté le 06 juillet 2004 - 18:03
bonjour,
j'ai un fichier Client qui possède une id automatique "ID_Client" ainsi que
d'autres colonnes. J'ai créé une page web contenant un tableau affichant
les éléments de ce fichier (ID_client etc..) ainsi que differents champs
de saisie liés aux éléments du fichier Client. Si j'appuie sur un "ID_Client"
dans la table cela rempli mes champs de saisie. Je peux alors les modifier
et valider la modification grace à un bouton ("PageVersFichier(), HModifie(Client)).
Les modifications apparaissent alors dans le tableau.
J'ai tenté de faire de même pour créer un nouveau fichier à la suite (bouton
Créer : PageVersFichier(), HAjoute(Client)). Cependant rien ne se passe!..
et quand je vais dans WWMAP il ne trouve rien! Mais si je crée un enregistrement
avec WWMAP, celui-ci crée un enregistrement numero 1 mais avec un ID_Client
de 4,5,6.. suivant le nombre de fois ou j'ai cliqué sur mon bouton Créer!
Il y a donc une certaine prise en compte de ce bouton mais rien ne s'affiche
dans le fichier Client!

Pourriez-vous me dire quel est le problème ainsi que la solution à celui-ci?

Merci
Posté le 06 juillet 2004 - 18:48
Lorsque j'écris HAjoute(Client) cela fait comme défini ci-dessus mais si
je vide mon fichier et que j'écris HAjoute(Client, hForceIDAuto ou hFixeIDAuto)
cela marche pour créer le premier enregistrement, qui a alors l'ID_Client
"0", mais lors de la création d'un deuxième enregistrement l'erreur "Une
erreur de doublons est survenue sur la fonction HAjoute précédente et n'a
pas été traitée" apparait...

Merci pour votre aide
Posté le 07 juillet 2004 - 12:42
Salut,

Pou précision, as-tu un champ lié avec ID_Client dans ta page? (autre
que celui du tableau...)
Si c'est le cas, c'est probablement lui qui pose problème et tout
s'explique:

Quand tu modifies ton enregistrement, pas de problème vu que tu ne change
pas le contenu de ton champ lié à ID_Client.
Mais si tu veux ajouter un enregistrement, le problème apparait car tu vas
essayer d'assigner une valeur à une rubrique automatique et donc te heurter
à un problème.

En d'autres termes, je penses que si tu as ce champ, commence par le
supprimer (il n'est pas vraiment utile vu que automatique) et essaye de
tenter un ajout (pageversfichier(); hajoute(Client)). si ça fonctionne, soit
tu laisses tel, soit (si tu tiens à avoir un rappel de ton identifiant) tu
ajoute un champ indépendant que tu remplis avec l'ID_Client par
programmation à chaque clic sur le tableau...

Espérant t'avoir aidé.

Bon Dev'

Guillaume


"F MATHIEU" <francois.mathieu@ecam.fr> a écrit dans le message de
news:40eabbaa$1@news.pcsoft.fr...



Lorsque j'écris HAjoute(Client) cela fait comme défini ci-dessus mais si
je vide mon fichier et que j'écris HAjoute(Client, hForceIDAuto ou

hFixeIDAuto)
cela marche pour créer le premier enregistrement, qui a alors l'ID_Client
"0", mais lors de la création d'un deuxième enregistrement l'erreur "Une
erreur de doublons est survenue sur la fonction HAjoute précédente et n'a
pas été traitée" apparait...

Merci pour votre aide
Posté le 07 juillet 2004 - 13:26
Bonjour

J'avais pensé à verifier cela mais merci pour le conseil ! :)

En fait je viens de trouver : cela est du au lien entre ce fichier et d'autres
fichiers qui reprenaient le valeur de "ID_Client".
En effet la relation était de type "1-n"-->"1-1". J'ai changé ces relations
en "0-n"-->"0-1" et cela marche mais alors les clients sont créés en double
dans le fichier...
D'ou viens le problème svp?

Merci
Posté le 08 juillet 2004 - 14:23
Bonjour,

J'ai toujours le problème quelqu'un aurait il une solution svp?

rappel :
PageVersFichier()
HAjoute(client)

Cela me rajoute 2 fois le meme enregistrement dans mon fichier chaque fois
que je clique sur le bouton...

Help... merci