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 :

Type incompatible dans une requête


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 192
    Points : 90
    Points
    90
    Par défaut Type incompatible dans une requête
    Bonjour,

    ma bdd Delphi avec le BDE, les 2 tables suivantes sont crées en Paradox

    tblMatiere (table matieres )
    MatNum (entier)
    MatNom (chaine de caracteres)
    MatCoef (Numerique positif, entre 1 et 9)



    tblNotes (table Notes, pour saisir les notes des élèves. exemple : 5 ou 9,5 ou 12 ou 12,5 etc)
    NotNum (entier)
    NotType (1 Alphabetique)
    MatNum
    ElvNum
    ...
    NotDevoir (valeur numérique flottante, valeur décimale)
    NotComposition (valeur numérique flottante, valeur décimale)


    Dans Delphi j'ai une requête (TQuery = qryBulletin) avec une formule, observez :

    qryBulletin.SQL.Add ('SELECT N.ElvNum, E.ElvNom, E.ElvPrenoms, E.ElvTel, AVG (N.NotDevoir), N.MatNum, M.MatNom, '+' ');
    qryBulletin.SQL.Add ( AVG (N.NotCompo), (AVG (N.NotDevoir)+AVG (N.NotCompo))/2, '+' M.MatCoeff, (AVG (N.NotDevoir)+ AVG (N.NotCompo))/2 * (M.MatCoeff) ') ;
    etc...

    voilà ma requête qui contient des formules :
    elle doit m'afficher la moyenne des notesDevoir, NotesComposition, et le Coefficient de la Matière est multiplié (*) par les moyennes des notesDevoir et notesComposition

    A l'exécution, aucune erreur de syntaxe est signalée. Mais quand je clique sur le bouton Executer de ma fiche pour que la requete affiche le résultat attendu; une erreur est signalée avec le message suivant :
    ' qryBulletin : type mismatch for field 'MatCoeff', expecting : String actual : SmallInt '

    Comment vais - je m'en sortir, quelle démarche me propose vous ?

    Merci d'avance pour votre aide


    Eric

  2. #2
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 576
    Points
    576
    Par défaut
    Voici votre requête corrigée maïtre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    qryBulletin.SQL.Add ('SELECT N.ElvNum, E.ElvNom, E.ElvPrenoms, E.ElvTel, AVG (N.NotDevoir), N.MatNum, M.MatNom,');
    qryBulletin.SQL.Add ('AVG (N.NotCompo), (AVG (N.NotDevoir)+AVG (N.NotCompo))/2, M.MatCoeff, (AVG (N.NotDevoir)+ AVG (N.NotCompo))/2 * (M.MatCoeff) ') ;

Discussions similaires

  1. [AXIS2] Envoi d'un type complexe dans une requête SOAP
    Par godolf dans le forum Services Web
    Réponses: 4
    Dernier message: 20/05/2008, 13h51
  2. Définir le futur type de champ dans une requête création de table
    Par Fredo67 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/02/2007, 18h19
  3. [MySQL] Connaitre le nombre de "rows" dans une requête de type SELECT ?
    Par dagra dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/11/2006, 22h44
  4. [ADO] Passage de paramètre de type Date dans une requête
    Par e-ric dans le forum Bases de données
    Réponses: 6
    Dernier message: 25/01/2006, 12h36
  5. Pb de type de champs dans une requête
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2005, 15h19

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