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

Requêtes et SQL. Discussion :

Problème 3061(Trop peu de paramètre. 1 attendu)


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut Problème 3061(Trop peu de paramètre. 1 attendu)
    Bonsoir tout le monde j'ai un problème qui vient je pense de ma requête sql avec jointure sur 3 tables

    voilà la requête


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         Sql = "SELECT Categorie_Support.Nom AS [Catégorie], Support.Numero_Support AS [Numéro Support], Support.Titre AS [Titre], Support.Disponible As [Disponible], Client.Nom AS [Nom Du client], Client.Prenom AS [Prénom du client]," _
            & "Support.Date_Sortie As [Date de sortie], Support.Date_Rentree As [Date de rentrée]" _
            & " FROM (Support LEFT JOIN Categorie_Support ON Support.Ref_Categorie = Categorie_Support.Id) LEFT JOIN Client ON Support.Ref_Client = Client.Id" _
            & ClauseWhere _
            & " ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC"
    Voilà j'explique un peu

    j'ai une table Categorie_Support avec un Id et un Nom
    Une autre table Support avec
    Ref_Categorie
    Numero_Support
    Titre
    Disponible
    Ref_Client
    Date_Sortie
    Date_Rentree
    et enfin une 3eme table Client
    Où je ne veux reprendre que le nom et le prenom du client

    en gros j'éssaye grâce à cette requête de remplir une MsFlexGrid
    avec

    Categorie_Support(Nom de la table Support)
    Numero_Support
    Titre
    Disponible
    Nom de la table Client
    Prenom de la table Client
    Date_Sortie
    Date_Rentree

    voilà j'espère que je me suis bien exprimé que vous m'avez bien compris et surtout que vous allez savoir m'aider
    merci à vous

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Personne ne peut m'aider? Il y a t-il une erreure dans ma requête sql svp?

  3. #3
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Perso, je ne peux pas t'aider mais un peu de patience, tu as posté hier soir et on est le week end

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Oui désolé de mon impatiente tu as raison.
    Mais c'est parce que ça fait pas mal de temps que je suis bloqué là dessus et j'aimerais avancer

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par francis-a Voir le message
    Personne ne peut m'aider? Il y a t-il une erreure dans ma requête sql svp?
    sur qu'elle ligne l'erreur ..?

    moi je vois avant tout une chaine de caractére..!

    affiche la ...

    puis regarde, si ta requête est bien formée...

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    justement c'est là mon problème à mon avis ma requête n'est pas bonne
    Vous voyez une erreur?

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par francis-a Voir le message
    justement c'est là mon problème à mon avis ma requête n'est pas bonne
    Vous voyez une erreur?
    Je vois pas la requête !

    http://cafeine.developpez.com/access...el/debugprint/

  8. #8
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Categorie_Support.Nom AS [Catégorie], Support.Numero_Support AS [Numéro Support], Support.Titre AS [Titre], Support.Disponible As [Disponible], Client.Nom AS [Nom Du client], Client.Prenom AS [Prénom du client],Support.Date_Sortie As [Date de sortie], Support.Date_Rentree As [Date de rentrée] FROM (Support LEFT JOIN Categorie_Support ON Support.Ref_Categorie = Categorie_Support.Id) LEFT JOIN Client ON Support.Ref_Client = Client.Id ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC


    voilà j'ai utilisé Debug.Print SQL

  9. #9
    jnore
    Invité(e)
    Par défaut
    Bonjour,

    A vérifier mais je pense que la parenthèse n'est pas à sa place:
    essaie ceci au niveau de la jointure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    FROM Support LEFT JOIN Categorie_Support ON (Support.Ref_Categorie = Categorie_Support.Id)

  10. #10
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Salut j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Categorie_Support.Nom AS [Catégorie], Support.Numero_Support AS [Numéro Support], Support.Titre AS [Titre], Support.Disponible As [Disponible], Client.Nom AS [Nom Du client], Client.Prenom AS [Prénom du client],Support.Date_Sortie As [Date de sortie], Support.Date_Rentree As [Date de rentrée] FROM Support LEFT JOIN Categorie_Support ON (Support.Ref_Categorie = Categorie_Support.Id) LEFT JOIN Client ON Support.Ref_Client = Client.Id ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC
    ça fait pire à mon avis maintenant il me met

    Erreur d'exécution '3075':

    Erreur de syntaxe(opérateur absent) dans l'expression
    'Support.Ref_Categorie=Categorie_Support.Id) LEFT JOIN Client
    ON Support.Ref_Client = Client.Id".

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Essaye comme ça.
    ... .... FROM Support LEFT JOIN (Categorie_Support LEFT JOIN Client ON Support.Ref_Client = Client.Id) ON Support.Ref_Categorie = Categorie_Support.Id .......

  12. #12
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    coucou désolé je n'étais pas chez moi j'ai testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Categorie_Support.Nom AS [Catégorie], Support.Numero_Support AS [Numéro Support], Support.Titre AS [Titre], Support.Disponible As [Disponible], Client.Nom AS [Nom Du client], Client.Prenom AS [Prénom du client],Support.Date_Sortie As [Date de sortie], Support.Date_Rentree As [Date de rentrée] FROM Support LEFT JOIN (Categorie_Support ON Support.Ref_Categorie = Categorie_Support.Id LEFT JOIN Client )ON Support.Ref_Client = Client.Id ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC
    et j'ai maintenant

    erreur 3135
    Erreur de syntaxe dans l'opération JOIN

  13. #13
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 100
    Points : 31 536
    Points
    31 536
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par francis-a
    et j'ai maintenant

    erreur 3135 - Erreur de syntaxe dans l'opération JOIN
    Votre requête comporte une parenthèse mal placée :
    ... LEFT JOIN Client )ON ...
    En tout état de cause, avec SQL Server 2005, votre requête initiale (débarrassée des "&" et de "ClauseWhere") est syntaxiquement correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT  Categorie_Support.Nom AS [Catégorie]
          , Support.Numero_Support AS [Numéro Support]
          , Support.Titre AS [Titre]
          , Support.Disponible As [Disponible]
          , Client.Nom AS [Nom Du client]
          , Client.Prenom AS [Prénom du client]
          , Support.Date_Sortie As [Date de sortie]
          , Support.Date_Rentree As [Date de rentrée]
    FROM   (Support LEFT JOIN Categorie_Support 
                       ON Support.Ref_Categorie = Categorie_Support.Id) 
                    LEFT JOIN Client 
                       ON Support.Ref_Client = Client.Id  
    ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC
    A quoi ressemble la clause Where ?

  14. #14
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    coucou désolé je n'étais pas là

    voilà ma requête complète


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         Sql = "SELECT Categorie_Support.Nom AS [Catégorie], Support.Numero_Support AS [Numéro Support], Support.Titre AS [Titre], Support.Disponible As [Disponible], Client.Nom AS [Nom Du client], Client.Prenom AS [Prénom du client]," _
            & "Support.Date_Sortie As [Date de sortie], Support.Date_Rentree As [Date de rentrée]" _
            & " FROM   (Support LEFT JOIN Categorie_Support ON Support.Ref_Categorie = Categorie_Support.Id) LEFT JOIN Client ON Support.Ref_Client = Client.Id" _
            & ClauseWhere _
            & " ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC"

  15. #15
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 33
    Points
    33
    Par défaut
    Je ne t'aiderai pas beaucoup, mais moi quand j'ai ce genre d'erreur : "Trop peu de paramètre. 1 attendu"
    C'est qu'un nom de colonne est mal ecris...

  16. #16
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 100
    Points : 31 536
    Points
    31 536
    Billets dans le blog
    16
    Par défaut
    Quand je pose la question : A quoi ressemble la clause Where ?

    Je veux dire quel est le contenu de la variable ClauseWhere ? Car puisque le reste de la requête est syntaxiquement correct, raisonnablement c'est ce contenu qu'il faut analyser.

  17. #17
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 013
    Points
    53 013
    Billets dans le blog
    6
    Par défaut
    Commencez par éviter de mettre des noms farfelus et hors norme à vos colonnes comme
    "Catégorie" => accent
    ou pire :
    "Numéro Support" => blanc
    car certains outil de code ne supporte pas de tels noms

    De plus si vous êtes sous Access qui a une syntaxe hors norme il faut rajouter des parenthèses...

    A +

  18. #18
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    En continuant à chipoter cette aprem en cours j'ai finis pas trouver


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         Sql = "SELECT Support.Numero_Support As [Numéro support], Categorie_Support.Nom AS [Catégorie], Support.Titre AS [Titre], Support.Disponible As [Disponible], Client.Nom AS [Nom du client], Client.Prenom AS [Prénom du client]," _
            & "Support.Date_Sortie As [Date de sortie], Support.Date_Rentree As [Date de rentrée]" _
            & " FROM (Support LEFT JOIN Categorie_Support ON Support.Ref_Categorie = Categorie_Support.Id)" _
            & " LEFT JOIN Client ON Support.Ref_Client = Client.Numero_Client" _
            & SupportRecherche & NomRecherche _
            & " ORDER BY Support.Numero_Support ASC, Support.Titre ASC, Client.Nom ASC, Client.Prenom ASC"

    Sinon pour ma clause where c est ça


    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
     If (TexteRecherche2 <> "") Then
          If (TextRechercherParTitre = "") Then
             SupportRecherche = Replace(" WHERE (Categorie_Support.Nom £CRITERE£)", _
                                "£CRITERE£", "LIKE ""*" & ComboCategorieSupport & "*""")
          Else
             SupportRecherche = Replace(" WHERE (Categorie_Support.Nom £CRITERE£)", _
                                "£CRITERE£", "LIKE ""*" & ComboCategorieSupport & "*""")
     
             NomRecherche = Replace(" AND (Support.Titre £CRITERE£)", _
                                "£CRITERE£", "LIKE ""*" & TextRechercherParTitre & "*""")
          End If
       Else
          If (TexteRecherche = "") Then
              fgListeSupport.TextMatrix(1, 1) = "Remplissez au moins un champ"
     
          Else
              NomRecherche = Replace(" WHERE (Support.Titre £CRITERE£)", _
                             "£CRITERE£", "LIKE ""*" & TextRechercherParTitre & "*""")
          End If
       End If

    Pour le nom de mes colonnes c'est pas les champs de la bd c est des allias c est pour changer le nom dans mon programme

    ça fait mieux de voir Numéro de support que Numéro_Support




    Merci à tous d'avoir répondu à bientôt

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

Discussions similaires

  1. Erreur 3061 : Trop peu de paramètres.1 attendu
    Par deglingo37 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 05/12/2014, 19h55
  2. Erreur 3061 Trop peu de paramètres 2 attendu
    Par pres62 dans le forum VBA Access
    Réponses: 5
    Dernier message: 22/06/2012, 12h14
  3. [AC-2007] EX 3061 ; Trop peu de paramètres. 11 attendu
    Par Bibi72 dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2012, 16h10
  4. [AC-2002] erreur "3061 Trop peu de paramètres. 1 attendu"
    Par AntoineCIT dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/01/2010, 13h13
  5. 3061 Trop peu de paramètres. 1 attendu
    Par bernez dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/05/2007, 14h16

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