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 de requete [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Problème de requete
    bonjour à tous
    j'ai un problème ds cette requete. lorsque je passse sur le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set requete = CurrentDb.OpenRecordset("SELECT param_annee_livret.num_param ,param_annee_livret.mois_annee FROM param_annee_livret where[format(mois_annee,#mm/yyyy#)]=" & Format(frm!date_abon, "mm/yyyy"))
    j ai le message suivant 'erreur exécution 3061 "trop peu de paramètres. 1 attendu"


    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
    24
    25
    26
    27
    Public Function valid_annee()
    Dim requete As DAO.Recordset
    Dim frm As Form
    Set frm = Forms![formu_personne]![sous_formu_abonnement].Form
    If Not IsNull(frm!date_abon) Then
     
    Set requete = CurrentDb.OpenRecordset("SELECT param_annee_livret.num_param ,param_annee_livret.mois_annee FROM param_annee_livret where[format(mois_annee,#mm/yyyy#)]=" & Format(frm!date_abon, "mm/yyyy"))
     
       If requete.RecordCount <> 0 Then
       frm!cod_param = requete!num_param
       Else
       Rem frm!cod_param = 0
       MsgBox "Attention Date d abonnement non trouvée dans le paramètrage année."
       End If
    Else
    MsgBox "Attention vous devez saisir une dat d'' abonnement avant de valider le paramètre année."
    End If
    Rem Refresh
     
    Rem debut test
    Dim requete2 As String
    requete2 = "SELECT param_annee_livret.num_param ,param_annee_livret.mois_annee FROM param_annee_livret where (mois_annee,mm/yyyy)= " & Format(frm!date_abon, "mm/yyyy")
    CurrentDb.Execute requete2
     
    Rem fin test
     
    End Function
    merci pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 724
    Points
    24 724
    Par défaut
    Bonjour,

    Cette syntaxe est incorrecte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where[format(mois_annee,#mm/yyyy#)]="
    Les crochets sont utilisés pour entourer les noms de champ, de tables ou de paramètres mais en aucun cas une fonction.

    Je te conseille également de terminer ta requête ainsi que de baliser ton paramètre de date sous peine d'avoir des résultats plus qu'aléatoires.

    Cordialement,

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    bonsoir
    merci pour ton aide. mais je ne comprends pas "baliser le paramétré date" et "terminer ta requête"
    merci

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    j ai retiré les crochets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set requete = CurrentDb.OpenRecordset("SELECT param_annee_livret.num_param ,param_annee_livret.mois_annee FROM param_annee_livret whereformat(mois_annee,#mm/yyyy#)=" & Format(frm!date_abon, "mm/yyyy"))
    mais j'ai l"erreur 3075
    errreur syntaxe dans la date dan,s l'execution
    'format(mois_annee,#mm/yyyy#)=12/2013'

    merci que dois je faire?

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 724
    Points
    24 724
    Par défaut
    Bonjour,

    Apparemment SQL n'est pas ta tasse de thé. Je te conseille de créer tes requêtes via le générateur de requête d'ACCESS puis de les transférer dans ton code VBA. Tu peux également faire l'inverse pour que le QBE (générateur de requête) te corrige ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    whereformat(mois_annee,#mm/yyyy#)=" & Format(frm!date_abon, "mm/yyyy"))
    Tu verras ainsi que whereformat n'est pas connu, les espaces sont important comme dans toute les langues. Sijécriscettephrasetuvasmettreunmomentàladécrypteretencoreparcequetuasuncerveau,lordinateurnenapaslui.

    Comme je te disais précédemment il faut baliser ton résultat d'expression avec des simple cote par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(frm!date_abon, "mm/yyyy")
    SQL c'est un langage à part entière, il ne supporte pas les inexactitudes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set requete = CurrentDb.OpenRecordset("SELECT param_annee_livret.num_param ,param_annee_livret.mois_annee FROM param_annee_livret where format(mois_annee,#mm/yyyy#)='" & Format(frm!date_abon, "mm/yyyy") & "';")
    Cordialement,

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Re bonjour

    j’ai tapé votre solution que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set requete = CurrentDb.OpenRecordset("SELECT param_annee_livret.num_param ,param_annee_livret.mois_annee FROM param_annee_livret where format(mois_annee,#mm/yyyy#)= '" & Format(frm!date_abon, "mm/yyyy") & " '; ")
    Mais j’ai toujours l’erreur:

    Erreur syntaxe 3075

    ‘format(mois_annee,#mm/yyyy#)=’12/2013’’.

    merci de ton aide

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 724
    Points
    24 724
    Par défaut
    La fonction Format est présente dans l'aide. Il ne faut pas hésiter à presser sur F1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format(mois_annee,"mm/yyyy")

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

Discussions similaires

  1. [EJBQL] Problème de requete
    Par rivierem dans le forum Java EE
    Réponses: 3
    Dernier message: 16/10/2004, 11h05
  2. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 11h36
  3. Problème de Requete...
    Par sebiv dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/04/2004, 17h21
  4. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 13h54
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 14h08

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