Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    difficultés à modifier des informations d'une base de données depuis un table mémoire
    Bonsoir chers tous.
    J'ai un souci et j'ai besoin d'aide.
    j'ai une TABLE_Modifier qui est remplie par programmation via une COMBO_Examen et un BTN_Valider qui me permet de valider les modifications
    Voici le code de remplissage.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TableSupprimeTout(TABLE_Modifier)
    POUR TOUT Notes AVEC IDExamen=COMBO_Examen
     
    	TableAjouteLigne(TABLE_Modifier,Notes.IDNotes,Notes.IDExamen,Notes.Matricule,Notes.Nom,Notes.Prénom,Notes.IDMatières,Notes.Notes,Notes.Coefficient,Notes.Notexcoef)
    FIN

    Dans la TABLE_Modifier, je modifie un certain nombre d'informations quand je clique sur BTN_Valider et que je consulte les informations dans le fichier aucune modification ne se fait.
    voici le code que j'ai utilisé.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    POUR TOUTE LIGNE DE TABLE_Modifier
     
    Notes.IDExamen=TABLE_Modifier.COL_IDExamen
    Notes.Matricule=TABLE_Modifier.COL_Matricule
    Notes.Nom=TABLE_Modifier.COL_Nom
    Notes.Prénom=TABLE_Modifier.COL_Prénom
    Notes.IDMatières=TABLE_Modifier.COL_IDMatières
    Notes.Notes=TABLE_Modifier.COL_Notes
    Notes.Notexcoef=TABLE_Modifier.COL_Notexcoef
     
    HModifie(Notes)
     
    FIN

    L'idéal pour moi serait que seules les modifications soient prises en compte.
    Merci de m'aider

  2. #2
    Expert éminent
    Bonjour,
    Vu que la table est remplie par programmation, il n'y a pas de lien entre les lignes et les enregistrement dans ton fichier.

    Donc dans ta boucle tu dois à chaque itération recherche le bon enregistrement à modifier (hLitRecherche).
    Il te faut donc pour chaque ligne l'identifiant de l'enregistrement correspondant (sa clé primaire).

    Ensuite pour n'enregistrer que ce qui est modifié, il faut traquer les modifications au niveau de la table.
    Par exemple tu peux ajouter une colonne cachée dans la table, de type booléen.
    Lors du remplissage de la table, tu laisses cette colonne à faux.
    A chaque sortie de ligne, si la propriété ..Modifié de la table passe à vrai, la ligne est modifiée. Il faut donc mettre à jour la colonne en question, et repasser la propriété ..modifié à faux.
    Pour débugger tu peux dans un premier temps laisser la colonne visible, ainsi tu verras plus facilement ce qu'il se passe.

    Tatayo.