IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Types de données incompatibles lors d'une requête sous access


Sujet :

Bases de données Delphi

  1. #21
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    Ouai comme tu dis c très étrange, mon avis c'est comme nous l'avons dit avec Malatar de rester sur la première soluce et de régler ce problème d'arrondi, mon screen t'en a-t-il révélé plus malatar ?

  2. #22
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par RodEpsi
    Ouai comme tu dis c très étrange, mon avis c'est comme nous l'avons dit avec Malatar de rester sur la première soluce et de régler ce problème d'arrondi, mon screen t'en a-t-il révélé plus malatar ?

    Qu'un réel double c'est un peu beaucoup pour un nombre d'heure à facturer

  3. #23
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    Non le pas à pas s'arrête sur ADOQueryAjoutHeures mais de toute façon il est certain que l'erreur vienne de là puisque lorsque je vire ce paramètre dans la requête tout mon programme s'execute correctement.

  4. #24
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Malatar
    Qu'un réel double c'est un peu beaucoup pour un nombre d'heure à facturer

    Malheureusement la bdd est une bdd existante mise en place par une autre société et alimentant un logiciel existant, ce n'est donc pas moi qui ai déterminé la structure de cette table et je ne pe absolument pas la modifier.

  5. #25
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par RodEpsi
    Malheureusement la bdd est une bdd existante mise en place par une autre société et alimentant un logiciel existant, ce n'est donc pas moi qui ai déterminé la structure de cette table et je ne pe absolument pas la modifier.
    Mouais, bin franchement leur table bof bof, il respecte même pas les règles de nommage des champs (Accents, espace), enfin bon, c'est un avis personnel

    La je seche completement, je vois pas d'où peut venir ton problème.
    Quand j'insère dans un champ réel double via une requete ca fonctionne très bien chez moi.

    Quel version de delphi tu as ?
    As tu mis à jour les MDAC ?

  6. #26
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    Delphi 7.0 et le MDAC je sais même pas ce que c'est. Moi je développe bêtement

  7. #27
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par RodEpsi
    Delphi 7.0 et le MDAC je sais même pas ce que c'est. Moi je développe bêtement
    MDAC = Microsoft Data Access Components

    selon les version de windows il est plus ou moins a jours (sur 2k et + ca se met a jour tout seul)

    sinon a tu fais l'update de delphi 7 ?

  8. #28
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    je sui en train de créer un nouveau projet avec une fenêtre vide, ma requete insert et je vais essayer d'insérer comme ça pour voir. Si ça marche pas je ferai les mises à jour (ce que j'ai oublié de te préciser c ke les valeurs ke je récupère dans mes variables (enfin dans la variable terrain) c'est des valeurs que je récupère dans un fichier excel, au format 0.00) je c pas si ça change quelque chose mé bon ...

  9. #29
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Malatar
    Mouais, bin franchement leur table bof bof, il respecte même pas les règles de nommage des champs (Accents, espace), enfin bon, c'est un avis personnel

    La je seche completement, je vois pas d'où peut venir ton problème.
    Quand j'insère dans un champ réel double via une requete ca fonctionne très bien chez moi.

    Quel version de delphi tu as ?
    As tu mis à jour les MDAC ?

    Comment tu as fais pour que ça marche de ton côté car moi g crée un nouveau projet avec une fenêtre et un bouton tout bête sur lequel doit être executée la requête insert into et j'ai toujours la m^mee erreur, peux-tu medonner tous les éléments stp ?

  10. #30
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    en fait j'ai du nouveau, je me suis aperçu que l'insertion se faisait bien une première fois quand je clique sur le bouton qui execute ma requête, mais si je clique une deuxième fois dessus c'est là que le problème d'incompatibilité des types intervient.

    C'est pour ça que ce matin je t'avais dit que j'avais l'erreur mais que j'avais quand même eu l'insertion de l'enregistrement dans ma table.

    Or comme j'ai plusieurs enregistrements à insérer c'est pour ça que ça ne marche pas c'est étonnant ce n'est pas lié à ma boucle puisque comme je t'ai dis si je ne tiens plu compte de ce paramètre dans ma requête celle ci s'execute bien ainsi que tout mon code. De plus dans le nouveau petit projet avec ma fenêtre unique et mon bouton que j'ai crée il n'y a pas de boucle mon code est le suivant :

    procedure TForm1.Button1Click(Sender: TObject);

    var toto : Double;

    begin
    toto:=3.75;
    ADOQuery1.Close;
    ADOQuery1.Parameters[0].Value:=39;
    ADOQuery1.Parameters[1].Value:=toto;
    ADOQuery1.Parameters[2].Value:=3;
    ADOQuery1.ExecSQL;
    showmessage('ok');

    Donc en cliquant une fois sur le bouton ça marche j'ai même la boite de dialogue avec "Ok" qui apparait mais si je click une seconde fois c'est là que survient l'erreur.

  11. #31
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    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
     
    var
    ref_fiche, c_employe, RefProjet: Integer;
    DateTache: TDate;
    terrain: real;
     
    begin
      With AdoQueryAjoutHeures do
      begin
        Close;
        SQL.Clear;
        SQL.add('INSERT INTO Heures (RéfFicheHoraire, CodeEmployé, DateTâche, RéfProjet, HeuresAFacturer, RéfCodeTâche)');
        SQL.Add('VALUES (:ref_fiche, :ref_employe, :date_tache, :ref_projet, :heures, :ref_tache);');
        ParamCheck := True;
        Parameters.ParamByName('ref_fiche').Value:=ref_fiche;
        Parameters.ParamByName('ref_employe').Value:=c_employe; 
        Parameters.ParamByName('date_tache').Value:=DateTache; 
        Parameters.ParamByName('ref_projet').Value:=RefProjet;
        Parameters.ParamByName('heures').Value:=terrain;
        Parameters.ParamByName('ref_tache').Value:=1;
        ExecSQL;
      end;
    end;
    Essaie comme ça, ca marchera beaucoup mieux. J'ai fait un prog avec ta methode (Parameters[x]) et la mienne (Parameters.ParamByName), au bout du deuxieme clic de bouton j'ai eu une erreur avec ta methode, et pas d'erreur avec la mienne.
    Fichiers attachés Fichiers attachés

  12. #32
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 54
    Points
    54
    Par défaut
    Avec l'aide d'un pote j'ai trouvé l'erreur, tu vas rigoler quand tu vas savoir ce que c'était et d'ailleurs je n'arrive pas à comprendre mais en mettant mon paramètre "heures" qui est censé gérer un réel en WideString et bien plus aucune erreur, ma table se rempli correctement et tout va bien

  13. #33
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par RodEpsi
    Avec l'aide d'un pote j'ai trouvé l'erreur, tu vas rigoler quand tu vas savoir ce que c'était et d'ailleurs je n'arrive pas à comprendre mais en mettant mon paramètre "heures" qui est censé gérer un réel en WideString et bien plus aucune erreur, ma table se rempli correctement et tout va bien
    C'est pas normal, enfin bon je te conseil la méthode que je t'ai donné plus haut, qui est plus fiable et plus lisible que des [0],[1], etc ... car on a direct le nom du paramètre.
    De plus si un jour tu rajoutes un paramètre au milieu tu vas être obliger de renumeroter, alors qu'avec le ParamByName, pas besoin.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Création d'une requête sous access
    Par nassertom dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/01/2014, 14h11
  2. [AC-2007] Comment échapper les (') dans une requête sous ACCESS 2
    Par yfchauer dans le forum IHM
    Réponses: 4
    Dernier message: 13/04/2013, 19h52
  3. [AC-2007] Comment échapper les (') dans une requête sous ACCESS
    Par yfchauer dans le forum IHM
    Réponses: 8
    Dernier message: 02/04/2013, 21h26
  4. Requête: type de donnée incompatible dans l'expression du critère
    Par abambad dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/10/2007, 15h48
  5. Comment afficher le rang des résultats d'une requête sous Access 2002
    Par painpepper dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/08/2007, 01h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo