Modifier fiche
Alicia
Merci pour toute l'aide que vous m'avez apportée.
J'ai encore un soucis majeur, j'ai donc mes fiches, ma table mémoire, j'arrive à ajouter et supprimer une fiche, mais pas à la modifier.
Je vous copie le code :

EcranVersFichier()

SELON sModeOuverture
// mode création
CAS ~="Création"
// Ajout de l'enregistrement
HAjoute(FOURNISSEUR)
SI ErreurDétectée ALORS
Info("Impossible d'ajouter un enregistrement"+RC+HErreurInfo())
RETOUR
FIN
Info("Ajout effectué")
// On indique qu'une modification a été effectuée
MaFenêtre..ValeurRenvoyée = Vrai

CAS "Modif"
// Modification de l'enregistrement
SI testRecherche.REQ_Fourn..Occurrence=0 ALORS
Info("La table est vide, modification impossible")
RETOUR
FIN

HModifie(FOURNISSEUR)
SI ErreurDétectée ALORS
Info("Impossible de modifier l'enregistrement"+RC+HErreurInfo())
RETOUR
FIN

// On indique qu'une modification a été effectuée
MaFenêtre..ValeurRenvoyée = Vrai
FIN

// fermeture de la fenêtre
Ferme

Donc la création fonctionne, mais pas la modification qui pourtant est faite dans le même genre.
Déjà quand je clique sur "Modifier", la fenêtre de la fiche s'ouvre mais elle est vide, alors que le EcranVersFichier est censé me remplir les champs, non ?
Comment les remplir automatiquement et comment enregistrer les modifications ?
Merci d'avance.

Contribution le : 12/04/2006 10:06
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Bruyere ca gère
Essaie avec FichierVersEcran() pour voir ^^

Contribution le : 12/04/2006 10:45
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Bruyere ca gère
Essaie avec FichierVersEcran() pour voir ^^

Contribution le : 12/04/2006 10:45
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Anonyme
Essaie avec FichierVersEcran() pour voir ^^

Contribution le : 12/04/2006 10:47
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Anonyme
Il a un probleme ce forum.

Contribution le : 12/04/2006 10:48
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Alicia
ça ne marche toujours pas.
En + maintenant le "supprimer" ne marche plus. J'ai rien touché depuis tout à l'heure, ça marchait j'ai supprimé des fiches, et là j'ai réessayé et il me dit que le champ de la table sur lequel je fais le HLitRecherche n'existe pas... Je trouve que WinDev a des bugs bizarres...

Contribution le : 12/04/2006 10:53
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Alicia,

Pour ce qui est de
Citation :

Je trouve que WinDev a des bugs bizarres...

Je pense surtout qu'il sagit là d'un problème de débutant qui n'a pas encore apréhendé la philosophie WinDev.

Primo, apparement vous cherchez à tout programmer par vous même.
Ne serait-il pas plus judicieux d'utiliser le RAD afin de bien comprendre le fonctionnement?

Apparement vous confondez le sens de certaines fonctions
EcranVersFichier()
Permet de renseigner les rubriques du fichier avec les champs affichés à l'écran et qui doivent être liés (voir onglet liaison dans la description du champ) à la rubrique du fichier.
et
FichierVersEcran()
Qui est l'inverse.

Citation :

SELON sModeOuverture

encore faut-il que ce paramètre soit bien initialisé à l'appel de cette fenêtre.

Citation :

CAS ~="Création"
// Ajout de l'enregistrement
HAjoute(FOURNISSEUR)
SI ErreurDétectée ALORS
Info("Impossible d'ajouter un enregistrement"+RC+HErreurInfo())
RETOUR
FIN

se remplace par
CAS ~="Création"
// Ajout de l'enregistrement
Si Pas HAjoute(FOURNISSEUR) Alors
 Info("Impossible d'ajouter un enregistrement"+RC+HErreurInfo())
 RETOUR
FIN


Citation :

CAS "Modif"
// Modification de l'enregistrement
SI testRecherche.REQ_Fourn..Occurrence=0 ALORS
Info("La table est vide, modification impossible")
RETOUR
FIN

Pourquoi ouvrir la fenêtre si il n'y a pas d'enregistrement à modifier. Cette vérif pourrait très bien être faite à partir de la fenêtre parente.

Citation :

HModifie(FOURNISSEUR)
SI ErreurDétectée ALORS
Info("Impossible de modifier l'enregistrement"+RC+HErreurInfo())
RETOUR
FIN

Vérifier via le débuggueur que le pointeur du fichier pointe sur le bonne enregistrement avant de faire un HModifie, par exemple en testant la rubrique qui contient la clé unique de l'enregistrement qui devrait par défaut être
FOURNISSEUR.FOCLEUNIK
Si tel n'est pas le cas il faudra positionner le curseur du fichier sur le bonne enregistrement avent d'appeler la fonction HModifie().
De plus ce code pourrait être remplacé par
Si Pas HModifie(FOURNISSEUR) Alors
 Info("Impossible de modifier l'enregistrement"+RC+HErreurInfo())
 RETOUR
FIN

Contribution le : 12/04/2006 11:32
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Modifier fiche
Anonyme
Merci pour vos conseils.

Pour le EcranVersFichier(), j'ai trouvé ça dans le livre.

J'ai bien choisi une fiche simple donc dans le code de la fenêtre c'est déjà pré-remplit par ça :

PROCEDURE FicheSimpleRAD(sModeOuverture="Création")

// Par défaut, la fenêtre n'est pas modifiée
MaFenêtre..ValeurRenvoyée = Faux

// Gestion du mode d'appel
SELON sModeOuverture
CAS ~="Création"
// On réinitialise les champs
RAZ()
// On réinitialise les variables Hyper Files
HRAZ()
CAS ~="Modif"
SI HNbEnr(FOURNISSEUR)=0 OU HEnDehors(FOURNISSEUR) ALORS
// ouvre une boite de dialogue pour informer l'utilisateur
Info("Le fichier ne contient aucun enregistrement.")
// ferme la fenêtre
Ferme
FIN
// On remplit les champs
FichierVersEcran()
FIN

SI FOURNISSEUR..RubriqueFiltrée<>"" ALORS
{FOURNISSEUR..RubriqueFiltrée,indChamp}..Valeur = FOURNISSEUR..BorneMin
FIN

Je sais pas trop quoi faire avec la rubrique filtrée et l'indicateur de champ, je peux supprimer ces lignes ?

D'ailleurs quand je clique sur "Modifier" ça me dit "Le fichier ne contient aucun enregistrement" donc il entre bien dans le modif ici. Mais déjà pourquoi il me dit ça, il n'est pas vide pourtant ?

Heu je reprécise ce que je veux faire, j'ai ma table, je veux sélectionner une ligne, cliquer sur "modifier" pour que ça m'ouvre la fiche associée pour la modifier. La fiche doit donc être modifiée, ainsi que la ligne de la table.
Pour le "sModeOuverture", je croyais que ça correspondait au "Modification" ou "Création" qu'on choisit lors de l'ouverture de la fiche, puisque sur mon bouton "modifier" j'ai ça (que j'ai trouvé dans le livre):

Ouvre(Fiche_FOURN,"Modification")
TableAffiche(REQ_Fourn,taCourantPremier)

C'est faux ? Je vois pas où et comment écrire ces choix, sinon.

Ensuite, je veux remplir ma fiche avec ce qui est dans le fichier associé à la ligne de la table, ça je ne trouve pas comment faire, le FichierVersEcran() ça ne marche pas des masses, mais c'est peut-être du au fait que je n'ouvre pas correctement ma fiche en mode "Modif" (dans ce cas, comment faire juste ?).

Mais quand j'ajoute ou que je modifie une ligne de la fiche, je dois bien l'enregistrer dans mon fichier, alors c'est bien EcranVersFichier(), non ?

Pour les bug je parlais surtout du fait que tout à l'heure le "supprimer" fonctionnait, et quelques temps après sans que j'ai modifié le code de ce côté-là, il ne marche plus. J'ai du faire une ânerie quelque part mais je ne sais pas où.

Contribution le : 12/04/2006 14:20

Edité par sur 12/4/2006 14:51:31
Edité par sur 12/4/2006 14:56:35
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2