Voila un bon mois que je test mon application chez un client et un problème survient 3-4 jours après l'installation. L'application sert a compiler des données dans une BD MS access. Le problème est qu'après un certain temps, pour une raison X, l'ajout de certaines données ne se font pas correctement dans la BD. Voici le code appellé pour chaque ajout de donnée par le client :
on ajouter_transaction
Global BD2
DateColle = String(_system.date().char[1..4])&String(_system.date().char[6..7])&String(_system.date().char[9..10])
RS2 = DGCreateRecordset("SELECT * FROM Table1", BD2)
DGRSAddNew(RS2)
DGRSSetFieldValue("NUM_TRANSAC", String(member("txt_transaction").Text), RS2)
DGRSSetFieldValue("NUM_EMPLOYE", String(member("txt_current_user").Text), RS2)
DGRSSetFieldValue("DATE_TRANSAC", DateColle, RS2)
DGRSSetFieldValue("HR_TRANSAC", the long time, RS2)
DGRSSetFieldValue("MONTANT_TRANSAC", (member("txt_grand_total").Text*100), RS2)
repeat with i = 1 to 7
case member("txt_facture_pd_"&i).Text of
10: DGRSSetFieldValue("NB_10", member("txt_facture_qt_"&i).Text, RS2)
2.40 : DGRSSetFieldValue("NB_24", member("txt_facture_qt_"&i).Text, RS2)
1.80 : DGRSSetFieldValue("NB_18", member("txt_facture_qt_"&i).Text, RS2)
1.50 : DGRSSetFieldValue("NB_15", member("txt_facture_qt_"&i).Text, RS2)
1.20 : DGRSSetFieldValue("NB_12", member("txt_facture_qt_"&i).Text, RS2)
0.60 : DGRSSetFieldValue("NB_6", member("txt_facture_qt_"&i).Text, RS2)
0.30 : DGRSSetFieldValue("NB_30c", member("txt_facture_qt_"&i).Text, RS2)
0.20 : DGRSSetFieldValue("NB_20c", member("txt_facture_qt_"&i).Text, RS2)
0.10 : DGRSSetFieldValue("NB_10c", member("txt_facture_qt_"&i).Text, RS2)
0.05 : DGRSSetFieldValue("NB_5c", member("txt_facture_qt_"&i).Text, RS2)
end case
end repeat
DGRSUpdate(RS2)
DGRSClose(RS2)
member("txt_transaction").Text = String(Integer(member("txt_transaction").Text + 1))
end
Ce bout de code fonctionne très bien sur ma machine... J'ai beau l'utiliser pendant 10 jours tout est OK. Cependant je n'arrive pas a reproduire ce qui se passe chez mon client. Je sais seulement ce qui arrive.
Le bon fonctionnement du code devrais donnée quelque chose comme ca dans la BD:
NUM_TRANSAC/NUM_EMPLOYE/DATE_TRANSAC/HR_TRANSAC/MONTANT_TRANSAC/NB_24/NB_18/NB_15/NB_12 NB_6/NB_10/NB_30c/NB_20c/NB_10c/NB_5c
1 2140 20100910 07:09:32 350 0 0 0 0 0 0 0 14 7 0
Ce qui arrive par moment c'est que les (5) cinq premiers champs NUM_TRANSAC/NUM_EMPLOYE/DATE_TRANSAC/HR_TRANSAC/MONTANT_TRANSAC demeure vide alors que les 10 derniers sont rempli. Comme ceci :
NUM_TRANSAC/NUM_EMPLOYE/DATE_TRANSAC/HR_TRANSAC/MONTANT_TRANSAC/NB_24/NB_18/NB_15/NB_12 NB_6/NB_10/NB_30c/NB_20c/NB_10c/NB_5c
0 0 0 0 0 0 0 2 0 0 0 0
Les 10 derniers champs sont toujours bien rempli peut importe ce qui se passe j'en suis certain. Je ne suis pas capable de provoquer ce qui se passe chez mon client et donc de savoir pourquoi les 5 premiers champs reste vide certaines fois.
Ma BD demeure toujours ouverte
J'utilise l'Xtra Datagrip de INM
Je suis dans la brume si qqun a un idée elle est la bienvenue!
MERCI infiniment
Modifié par Psykoo, 28 September 2010 - 15:42 PM.