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

VBA Access Discussion :

Variable dynamique avec champs [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Par défaut Variable dynamique avec champs
    Bonjour,

    J'aurais besoin d'aide pour créer une variable "dynamique", en fait je veux qu'elle soit créé en fonction des variables présentes dans mon champs et qu'elles soient séparées par un point virgule.

    Début de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     ValueField = rec.Fields(J + 1).SourceField
    TableName = rec.Fields(J + 1).SourceTable
    StrSQL1 = "select " & ValueField & " from " & TableName
    'Set Requete_Selection = Db.QueryDefs(StrSQL1)
    chaine_charactères_construite_dynamiquement= "Les valeurs de la requête SQL séparées par un point virgule"

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Par défaut
    Voilà ce que j'ai essayé de faire mais j'ai une erreur de compilation:

    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
     
     ValueField = rec.Fields(J + 1).SourceField
    TableName = rec.Fields(J + 1).SourceTable
    StrSQL1 = "select" & ValueField & " from " & TableName
    Set Requete_Selection = Db1.QueryDefs(StrSQL1)
    Set Rec_Selection = Requete_Selection.OpenRecordset
     
     
    chaine_charactères_construite_dynamiquement = Null
     
      Do While Not Rec_Selection.EOF
    chaine_charactères_construite_dynamiquement = chaine_charactères_construite_dynamiquement + ";" + Rec_Selection.Fields(J + 1).Name
        Rec_Selection.MoveNext
     
    Loop
    Mais j'ai une erreur déjà sur le:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Requete_Selection = Db1.QueryDefs(StrSQL1)
    Merci d'avance, j'espère que vous pourrez me débloquer.

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Par défaut
    Mets un peu plus de détails sur ton code car on ne sait pas comment tu as déclaré ou instancié certaines variables. Par exemple Db1 devrait être déclarée et instanciée comme ceci a priori :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Db1 As DAO.Database
    Set Db1 = CurrentDb

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Par défaut
    Voici en gros les déclarations, nous sommes dans une boucle for, je ne peux pas mettre tout le code car il est assez imposant, mais voilà la partie qui m'intéresse.

    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
    Dim StrSQL1 As String
     Dim Requete_Selection As DAO.QueryDef
    Dim Rec_Selection As DAO.Recordset
     Dim Db1 As DAO.Database
    Set Db1 = CurrentDb
     
     
     ValueField = rec.Fields(J + 1).SourceField
    TableName = rec.Fields(J + 1).SourceTable
    StrSQL1 = "select" & ValueField & " from " & TableName
    Set Requete_Selection = Db1.QueryDefs(StrSQL1)
    Set Rec_Selection = Requete_Selection.OpenRecordset
     
     
    chaine_charactères_construite_dynamiquement = Null
     
      Do While Not Rec_Selection.EOF
    chaine_charactères_construite_dynamiquement = chaine_charactères_construite_dynamiquement + ";" + Rec_Selection.Fields(J + 1).Name
        Rec_Selection.MoveNext
    Loop

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Par défaut
    Excuse-moi, j'aurais du voir tout de suite ce qui n'allait pas mais j'étais en mode "pressé" :p
    Quand tu utilises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Requete_Selection = Db1.QueryDefs("nomDeMaRequete")
    C'est pour ouvrir une requête existante (ici nomDeMaRequete)
    Pour ouvrir une requête à partir d'une chaîne SQL, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Requete_Selection = Db1.OpenRecordset("SELECT * FROM maTable")

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 69
    Par défaut
    Merci cela a permis de résoudre mon problème.

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

Discussions similaires

  1. document dynamique avec champ modifiable
    Par amoric69 dans le forum Access
    Réponses: 1
    Dernier message: 18/01/2011, 20h13
  2. Variables dynamiques avec this["truc"], xml
    Par TrX dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 12/07/2009, 10h16
  3. Variables dynamiques avec Ruby
    Par SubZiggy dans le forum Ruby
    Réponses: 2
    Dernier message: 07/08/2007, 19h19
  4. [RegEx] Variable "dynamique" avec preg_replace
    Par simonoche dans le forum Langage
    Réponses: 4
    Dernier message: 19/04/2007, 10h55
  5. Créer des noms de variables dynamiquement avec JSP
    Par Zakapatul dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/02/2007, 14h24

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