Bonjour,
Je souhaite effectuer une opération très simple : Mettre à jour les données d'un champ d'un enregistrement.
Je lis dans une table Paradox des infos qui sont ensuite enregistrées dans une table MySQL.
L'accès à la base de données MySQL se fait par ODBC et la table en question est déclarée en TADOTable.
L'accès à la base de données Paradox se fait par BDE et la table en question est déclarée en TTable.
Voici mon source :
(Toutes les déclarations sont correctement faites)
Et voilà l'erreur obtenue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Table001.First; while not Table001.Eof do begin notices.Append; notices.Fields[1].AsString := Table002.Fields[3].AsString; ... notices.Post; id_notice := notices.fields[0].AsInteger; ... xtmp_ved est initialisée ... if notices.Locate('ID_Notice', id_notice, [loCaseInsensitive]) then begin notices.Edit; notices.Fields[8].AsString := IntToStr(xtmp_ved); notices.Post; end; ... Table001.Next; end;
L'erreur est obtenue après que 2 ou 3 enregistrements soient correctement traités. La partie APPEND fonctionne parfaitement bien. C'est le EDIT qui semble être problématique (en gras). Il semble que ce soit un problème de positionnement mais bon....La ligne n'a pas pu être trouvée pour la mise à jour. Certaines valeurs ont peut être changé depuis leur dernière lecture.
Merci par avance pour l'aide que vous pourrez m'apporter.
Partager