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 :

Changer les noms des champs dans une requete créée en vba


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué Avatar de C15nantes
    Homme Profil pro
    retraité
    Inscrit en
    Février 2011
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2011
    Messages : 379
    Points : 137
    Points
    137
    Par défaut Changer les noms des champs dans une requete créée en vba
    Bonjour à tous te à toutes,

    Grâce à certains d'entre vous je créé une requête avec le code suivant :

    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
    Public Sub Cotis_DuesAG(NumDebut As Integer)
      Dim sSql As String
      Dim q As QueryDef
      sSql = "SELECT [T Adhérents].N°Adherent, [T Adhérents].Titre, [T Adhérents].Nom, [T Adhérents].Prenom, " _
              & " [T Adhérents].DateAdhesion, [T Adhérents].Adresse, IIf(Mid([T Adhérents].CP,3,1)='-', Mid([T Adhérents].CP , InStr([T Adhérents].CP,'-')+1), [T Adhérents].CP) AS CP1, [T Adhérents].Ville, [T Adhérents].Pays, " _
              & "[Du" & Format(NumDebut - 4, "00") & "]+[Du" & Format(NumDebut - 3, "00") & "]" _
              & "+[Du" & Format(NumDebut - 2, "00") & "]+[Du" & Format(NumDebut - 1, "00") & "]" _
              & "+[Du" & Format(NumDebut + 0, "00") & "]" _
              & " AS [Total dû], " _
                   & "[T Adhérents].Du" & Format(NumDebut - 4, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut - 3, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut - 2, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut - 1, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut + 0, "00") _
                   & " FROM [T Adhérents] " _
              & " WHERE ((([T Adhérents].Adherent) = True)) ORDER BY [T Adhérents].Nom, [T Adhérents].Prenom;"
      Set q = CurrentDb.QueryDefs("R Cotis_DuesAG")
      q.SQL = sSql
     
    End Sub
    Si numDebut, généré par une valeur saisi dans un formulaire est par exemple 16 (pour 2016), mes dernières colonnes affichent Du12, Du13...Du16 grâce au code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        & "[T Adhérents].Du" & Format(NumDebut - 4, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut - 3, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut - 2, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut - 1, "00") & "," _
                   & "[T Adhérents].Du" & Format(NumDebut + 0, "00") _
    Pour rendre un publipostage basé sur cette requête encore plus dynamique, j'aurais voulu avoir plutôt AA-4, AA-3...AA
    Comment modifier ce code ?
    J'ai fait différents essais, mais je me permets dans les " [] , voire '

    Merci de votre aide.
    C15

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Désolé mais je ne comprend pas ce que tu veux faire.

    Peux-tu mettre un exemple des nouveaux noms que tu veux obtenir ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 647
    Points : 14 624
    Points
    14 624
    Par défaut
    Bonjour,
    sans avoir testé, ceci peut-être ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                   & "[T Adhérents].Du" & Format(NumDebut - 4, "00") & " as AA-4," _
                   & "[T Adhérents].Du" & Format(NumDebut - 3, "00") & " as AA-3," _
                   & "[T Adhérents].Du" & Format(NumDebut - 2, "00") & " as AA-2," _
                   & "[T Adhérents].Du" & Format(NumDebut - 1, "00") & " as AA-1," _
                   & "[T Adhérents].Du" & Format(NumDebut + 0, "00") & " as AA"_
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Membre habitué Avatar de C15nantes
    Homme Profil pro
    retraité
    Inscrit en
    Février 2011
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2011
    Messages : 379
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    Désolé mais je n'avais pas vu vos réponses.

    Entre temps, à force de chercher, j'ai trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    & "[T Adhérents].Du" & Format(NumDebut, "00") _
                   & " AS [AA-4], " _
    En fait je voulais que dans mon publipostage j'ai les champs AA-4, AA-3...AA dont les noms ne changent pas d'une année sur l'autre (donc pas de mise à jour quand j'ouvre mon document Word).
    Le problème c'est que dans ma requête, j'ai effectivement bien mes champs AA-4, AA-3...
    mais alors je ne vois pas à quelles années cela correspond
    L’idéal serait d'avoir AA-4 : Du12, AA-3u13

    A défaut, je garderai ce que j'ai actuellement car c'est plus clair et sur de bien vérifier les champs Du13, Du14... correspondant à des cotisations dues.
    Le document Word est émis une fois par an, et s'il n'y a que 5 champs à modifier c'est pas la mort.

    Merci

    C15

Discussions similaires

  1. [AC-2003] Requete récupérant dans un champ les noms des champs d'une autre requête
    Par cheza dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/09/2011, 13h30
  2. Récupérer les noms des champs dans une requête
    Par Nerziel dans le forum Général Python
    Réponses: 1
    Dernier message: 14/09/2009, 11h29
  3. Réponses: 5
    Dernier message: 11/07/2007, 16h03
  4. [MySQL] Supprimer les informations des champs dans une table (suite)
    Par snakejl dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 26/05/2006, 15h37
  5. Ecrire les noms des fichiers dans une colonne
    Par REGIMBAL dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 11h29

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