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

VB.NET Discussion :

problème requête SQL [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 58
    Par défaut problème requête SQL
    Bonjour,

    je reçois le message "type de données incompatible dans l'expression du critère" lorsque je fais appel à la requête suivante et en lui passant les valeurs requises (mises en couleur verte) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT        Requête1.Libellé, Requête1.Fonds, Requête1.Recette, SUM(Requête2.SommeDeMontant) AS SommeDeSommeDeMontant
    FROM            ((SELECT        Imputations.[N°], Imputations.Libellé, Imputations.Recette, Fonds_Imput.Fonds
                                FROM            (Imputations LEFT OUTER JOIN
                                                         Fonds_Imput ON Imputations.[N°] = Fonds_Imput.Imputation)) Requête1 LEFT OUTER JOIN
                                 (SELECT        Imput, SUM(Montant) AS SommeDeMontant, Fonds, Date_extrait
                                   FROM            Extrait
                                   GROUP BY Imput, Fonds, Date_extrait
                                   HAVING         (Date_extrait BETWEEN ? AND ?)) Requête2 ON Requête1.Fonds = Requête2.Fonds AND Requête1.[N°] = Requête2.Imput)
    GROUP BY Requête1.Libellé, Requête1.Fonds, Requête1.Recette, Requête2.Date_extrait
    HAVING        (Requête1.Fonds = ?)
    Ce qui me paraît étrange, c'est que si je "force" dans ma requête les deux dates, et que je ne dois introduire que la valeur de fonds en paramètre de l'appel, la requête fonctionne.
    De même, si je "force" la valeur de fonds et je ne dois passer en paramètre les deux valeurs pour la date, ça fonctionne aussi....
    Auriez-vous une idée pour me débloquer ?

    D'avance merci

    Madfox

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    quelle type base de données ?
    comment sont affectés les paramètres ?

    on est pas derrière ton écran, merci de penser à donner les détails utiles ...

    et on ne met pas d'accent dans du code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 58
    Par défaut
    bonjour Pol63,

    Merci de te pencher sur mon problème.
    je travaille à partir d'une base de données Acces et je travaille avec VB.Net 2015.
    En fait j'ai d'abord créé la requête dans Access. Elle fonctionne bien.
    J'utilise l'aide du concepteur de base de données du vb. Lorsque je crèe la requête et que je l'exécute en passant les 3 paramètres, elle fonctionne parfaitement.
    Par contre si je lui demande un aperçu des données, et que je lui passe les 3 paramètres, là j'ai le message d'erreur.

    j'espère être assez clair et désolé pour le manque d'infos précédemment.

    ici la requête fonctionne avec les 3 paramètres
    Nom : page01.jpg
Affichages : 176
Taille : 826,3 Ko
    Par contre ici avec les 3 paramètres ça ne fonctionne pas :
    Nom : page01.jpg
Affichages : 175
Taille : 783,0 Ko

    Avec des image ce sera plus facile à comprendre peut-être mon problème.

    Bonne journée.

    Madfox

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    access est nul, il faut que les paramètres soient déclarés dans l'ordre d'apparition dans la requete
    ici il met donc fond dans la 1ère date et sur un type int d'où le "type de données incompatible" ...

    sur une vraie base de données on donne un nom de variable aux paramètres au lieu d'un ?, et c'est avec le nom que la liaison avec le paramètre est faite
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    access est nul, il faut que les paramètres soient déclarés dans l'ordre d'apparition dans la requete
    ici il met donc fond dans la 1ère date et sur un type int d'où le "type de données incompatible" ...

    sur une vraie base de données on donne un nom de variable aux paramètres au lieu d'un ?, et c'est avec le nom que la liaison avec le paramètre est faite
    Oracle en ODBC, ça marche toujours pas les paramètres nommés.
    Ah, oui, j'avais oublié… C'est pas un vrai SGBD non plus

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    non là c'est odbc qui n'est pas un vrai connecteur ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 58
    Par défaut
    Re bonjour,

    Grâce à la remarque de Pol63 concernant l'ordre des variables, j'ai recherché dans le concepteur des base de données de VB.NET. J'ai découvert que l'on pouvait modifier l'ordre des paramètres à renseigner lors de l'appel de la requête.
    et maintenant ça fonctionne parfaitement.
    je confirme que les paramètres de la requête doivent être introduits dans l'ordre dans lequel ils apparaissent dans la requête.
    je vous joins un print screen (ça peut toujours servir pour quelqu'un d'autre ultérieurement).
    Nom : page01.jpg
Affichages : 194
Taille : 838,7 Ko

    Je vous remercie.

    Je clôture vu que c'est résolu.

    Bonne journée.

    Madfox

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème requête SQL
    Par mandaillou dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/10/2005, 11h37
  2. Problème requête SQL dans page ASP
    Par rocs dans le forum ASP
    Réponses: 14
    Dernier message: 26/07/2005, 15h38
  3. problème requête sql
    Par psychoBob dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/07/2005, 17h50
  4. problème requête sql
    Par perfectdams dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/06/2005, 18h09
  5. Réponses: 8
    Dernier message: 23/10/2003, 16h22

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