Bonjour,

J'ai fait il y a 2 jours cette fonction qui fonctionnait tres bien jusqu'à maintenant. Elle va ecrire des choses dans les champs d'une table...Du super simple donc !
Depuis cet apres midi, elle me génère une exception EDBEnginError "Edition impossible, un autre utilisateur à modifié l'enregistrement".

Cela ne me l'a jamais fait, j'ai rien changé et surtout l'enregistrement que je demande ici est bien réalisé malgré le plantage !

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void __fastcall TForm1::EcrireTempsDepart(int IDcourse,int HeureDepart)
{
 bool present ;  
 int heures;
 int minutes;
 int secondes;
 int centiemes;
 TLocateOptions Option; // Creer un objet option
 Option << loCaseInsensitive; // Rajout de l'option "ne fait pas attention à la casse"
 heures = HeureDepart/360000;
 minutes = (HeureDepart - (heures*360000))/6000 ;
 secondes = (HeureDepart - (heures*360000)-(minutes*6000))/100 ;
 centiemes = HeureDepart - (heures*360000)-(minutes*6000) - (secondes*100);
 
  // ouverture connexion, bdd et table
  Session1->Open();
  Database1->Open();
  Table_Categories->Open();
 
//test presence de l'enregistreent
 present = Table_Categories->Locate("Numcourse",IDcourse,Option);
  if (present == true){
  Table_Categories->Edit(); // Positionne la table en mode Edition (cet enregistrement créé, donc)
  Table_Categories->FieldByName("HeureDepartReelle")->Value = HeureDepart;
  Table_Categories->FieldByName("hd")->Value = heures ;
  Table_Categories->FieldByName("md")->Value = minutes ;
  Table_Categories->FieldByName("sd")->Value = secondes ;
  Table_Categories->FieldByName("cd")->Value = centiemes ;
  Table_Categories->Post(); //validation
  }
  else{
  }
  // on ferme connexion, bdd et table
  Table_Categories->Close();
  Database1->Close();
  Session1->Close();
}
Je n'arrive pas à comprendre d'ou vient le bug, j'ai pensé à un problème de temps d'acces et j'ai pour cela ajouté des tempos un peu partout...mais rien.

Au sec.

Merci par avance