BDE avec access : EDBEnginError
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:
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