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 syntaxe dans requete [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2014
    Messages : 46
    Points : 33
    Points
    33
    Par défaut Problème de syntaxe dans requete
    bonjour,
    j'ai besoin d'actualisé dans une requête le nom des champs sur lesquels j'effectue ma requête,
    pour mes besoins j'ai une table avec un numéro (clé primaire) et plusieurs champs coti2014, coti2013.......
    j'ai donc crée en VBA la mise à jour de ma requête en changeant le nom des champs suivant l'année en cours
    mais cela ne fonctionne pas je dois avoir une erreur dans la syntaxe

    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
    Sub miseàjourrequte()
    Dim anneeN As Variant
    Dim anneeN1 As Variant
    Dim anneeN2 As Variant
    Dim monchampN As Variant
    Dim monchampN1 As Variant
    Dim monchampN2 As Variant
     
    anneeN = Year(Now)
    anneeN1 = Year(Now) - 1
    anneeN2 = Year(Now) - 2
    monchampN = "TB_SuviCotisationAdherent.CotiAdh" & anneeN
    monchampN1 = "TB_SuviCotisationAdherent.CotiAdh" & anneeN1
    monchampN2 = "TB_SuviCotisationAdherent.CotiAdh" & anneeN2
    Dim strSQL As String
    strSQL = "SELECT TB_membres.TB_membresNumeroAdh, TB_membres.TB_membresNom, TB_membres.TB_membresPrenom,  TB_adhesion.TBadhesionCotisationPayante, [monchampN], monchampN1, monchampN2 ,  FROM ((TB_membres LEFT JOIN TB_deces ON TB_membres.[TB_membresNumeroAdh] = TB_deces.[TB_decesNumeroAdh]) LEFT JOIN TB_SuviCotisationAdherent ON TB_membres.[TB_membresNumeroAdh] = TB_SuviCotisationAdherent.[NumeroAdh]) LEFT JOIN TB_adhesion ON TB_membres.[TB_membresNumeroAdh] = TB_adhesion.[TBadhesionNumeroAdh] WHERE (((monchampN) = False) And ((monchampN1) = True) And ((monchampN2 ) = True) ) ORDER BY TB_adhesion.TBadhesionIDSection;"
     
    CurrentDb.QueryDefs("rqt_nonàjourN").SQL = strSQL
     
    End Sub
    une première solution était de remodeler ma table cotisation, mais cela ne me convient pas pour la suite
    je voudrais donc arriver à modifier automatiquement ma requete
    merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    ,

    Tu insistes
    Essaies :
    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
    Sub miseàjourrequte()
    Dim anneeN As Variant
    Dim anneeN1 As Variant
    Dim anneeN2 As Variant
    Dim monchampN As Variant
    Dim monchampN1 As Variant
    Dim monchampN2 As Variant
     
    anneeN = Year(Now)
    anneeN1 = Year(Now) - 1
    anneeN2 = Year(Now) - 2
    monchampN = "TB_SuviCotisationAdherent.CotiAdh" & anneeN
    monchampN1 = "TB_SuviCotisationAdherent.CotiAdh" & anneeN1
    monchampN2 = "TB_SuviCotisationAdherent.CotiAdh" & anneeN2
    Dim strSQL As String
    strSQL = "SELECT TB_membres.TB_membresNumeroAdh, TB_membres.TB_membresNom, TB_membres.TB_membresPrenom,  TB_adhesion.TBadhesionCotisationPayante," & monchampN & "," & monchampN1 & "," & monchampN2 & "  FROM ((TB_membres LEFT JOIN TB_deces ON TB_membres.[TB_membresNumeroAdh] = TB_deces.[TB_decesNumeroAdh]) LEFT JOIN TB_SuviCotisationAdherent ON TB_membres.[TB_membresNumeroAdh] = TB_SuviCotisationAdherent.[NumeroAdh]) LEFT JOIN TB_adhesion ON TB_membres.[TB_membresNumeroAdh] = TB_adhesion.[TBadhesionNumeroAdh] WHERE (((" & monchampN & ") = False) And ((" & monchampN1 & ") = True) And ((" & monchampN2 & ") = True) ) ORDER BY TB_adhesion.TBadhesionIDSection;"
     
    CurrentDb.QueryDefs("rqt_nonàjourN").SQL = strSQL
     
    End Sub
    Il faut que tu sortes tes variables "monchampNX" hors de ton expression SQL.

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2014
    Messages : 46
    Points : 33
    Points
    33
    Par défaut
    déjà merci de d’être encore pencher sur mon cas,
    ta solution de la dernière fois marche très bien mais ne me convenait pas pour la suite de mon appli et surtout de mes connaissances

    donc c'est pourquoi je voulais garder ma structure

    la syntaxe que tu m'a donné marche parfaitement et fais ce que je voulais une mise à jour de ma requête en fonction de l'année en cours

    Donc un grand merci, je vais pouvoir continuer d'avancer

    merci à toutes la communauté

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

Discussions similaires

  1. [WD20] problème syntaxe dans requete SQL
    Par jjacques68 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/04/2015, 20h52
  2. [Débutant] Problème de syntaxe dans la requete sql select
    Par cosmic11 dans le forum VB.NET
    Réponses: 1
    Dernier message: 17/03/2012, 20h18
  3. [MySQL] Problme de variables dans requete
    Par eown dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 17h05
  4. syntaxe dans requete
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 30/09/2005, 16h55
  5. erreur syntaxe dans requete
    Par dom - ien moutiers dans le forum Requêtes
    Réponses: 5
    Dernier message: 19/04/2004, 11h54

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