Re: Enregistrement / Modification depuis tableau

Posté par drcharly93 le 7/6/2006 12:09:12
Bonjour,

Pour l'affichage de l'arbre OK
Pour l'affichage des devis dans une table OK

Reste à appliquer les modification apportée sur les quantitées saisies dans la table vers le fichier physique.

ensuite je vous propose la solution suivante:
On considère ici que la colonne Identifiant unique du fichier ligne de devis se nomme Devis_Ligne_Id. Cette collone devra être existante (meme caché) dans votre table Table_Devis

Votre insertion deviendrait alors
TableAjouteLigne(Table_Devis,0,wArticleIdArbre,wRefArticle,wLibelleArticle)

le zéro correspond à une ligne qui n'a pas encore été enregistrée

l'utilisateur pourra alors ajouter, modifier et supprimer à volonté les lignes de sont devis celles ci ne seront appliquée au fichier physique qu'au moment de la validation du devis.

Une chose reste importante, la suppresion d'une ligne de devis en cas de modification d'un devis si vous shoutez le gérer.

En effet si vous souhaitez dans votre logiciel rappeler un devis déjà créer pour le modifier et que vous supprimiez des lignes il vous faut un moyen de les identifier. Pour ce faire on peux faire appel à un Tableau dynamique.
Ce tableau dynamique devra contenir 2 colonnes
colonne1 l'IDArticle
Colonne2 la valeur de Devis_Ligne_ID

A chaque ajout d'article dans la table vérifier qu'il ne s'agit pas d'un article supprimer:
dans ce cas mettre a jour la table et supprimer son entrée dans le tableau
et si vous désirez supprimer une ligne de devis
vérifier si Devis_Ligne_Id est > 0 et dans ce cas l'ajouter au tableau dynamique.

Lors de la validation du devis vous commencerez par supprimer physiquement les enregistrement contenu dans le tableau dynamique
puis
parcourir Table_Devis
et en fonction du contenu de la colonne Devis_Ligne_Id
Si = 0 alors création de la ligne dans le fichier physique
Si > 0 alors modification de la ligne dans le fichier physique

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=4143&post_id=17164