Bonjour à tous, voilà j'ai un petit soucis, j'ai une bdd access avec une table nommée "Heures",voici la structure de la table :
Réf détail : NuméroAuto
RéfFicheHoraire : Numérique (Entier long)
CodeEmployé : Numérique (Entier long)
DateTâche : Date/Heure
RéfProjet : Numérique (Entier long)
HeuresAFacturer : Numérique (Réel Double)
RéfCodeTâche : Numérique (Entier long)
Je voudrai à l'aide d'une requête SQL (par l'outil ADO) insérer des enregistrements dans cette table. Pour cela j'effectue la requête suivante (portant le nom ADOQueryAjoutHeures) :
INSERT INTO Heures (RéfFicheHoraire, CodeEmployé, DateTâche, RéfProjet, HeuresAFacturer, RéfCodeTâche) VALUES (:ref_fiche, :ref_employe, :date_tache, :ref_projet, :heures, :ref_tache);
Mes paramètres sont défini de la manière suivante :
[0] ref_fiche -> DataType : ftInteger
-> Value
-> Type : Integer
[1] ref_employe -> DataType : ftInteger
-> Value
-> Type : Integer
[2] date_tache -> DataType : ftDateTime
-> Value
-> Type : Date
[3] ref_projet -> DataType : ftInteger
-> Value
-> Type : Integer
[4] heures -> DataType : ftFloat
-> Value
-> Type : Double
[5] ref_tache -> DataType : ftInteger
-> Value
-> Type : Integer
Voici maintenant le code que j'exécute du côté du code delphi :
var
ref_fiche, c_employe, RefProjet: Integer;
DateTache: TDate;
terrain: real;
begin
ADOQueryAjoutHeures.Close; ADOQueryAjoutHeures.Parameters[0].Value:=ref_fiche; ADOQueryAjoutHeures.Parameters[1].Value:=c_employe; ADOQueryAjoutHeures.Parameters[2].Value:=DateTache; ADOQueryAjoutHeures.Parameters[3].Value:=RefProjet;
ADOQueryAjoutHeures.Parameters[4].Value:=terrain;
ADOQueryAjoutHeures.Parameters[5].Value:=1;
ADOQueryAjoutHeures.ExecSQL;
end;
cependant lors de l'execution de la requête j'obtiens l'erreur suivante :
"Type de données incompatible dans l'expression du critère"
j'ai essayé d'executer à nouveau cette requête en virant le paramètre "heures" de type reel, et la requête s'exécute alors parfaitement, ce qui signifie bien que l'erreur vient de ce paramètre "heures" et de la variable "terrain" de type réel. Cependant je n'arrive pas à résoudre ce problème d'incompativbilité des types. Quelqu'un aurait-il une réponse à m'apporter svp ?
Partager