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

Macros et VBA Excel Discussion :

Récupération de données dans une table access via vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Par défaut Récupération de données dans une table access via vba
    Bonjour à tous

    Je développe actuellement un outil permettant de créer des tables automatiquement en fonction d'autres tables. Pour cela je dois récupérer les valeurs dans chaque table.

    Voila le code que 'ai actuellement
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub update_table(requete As String, table As String, col_Account As String, col_SN As String, col_SR As String, col_Desc_SN As String, col_Env As String, col_Env_exist As Boolean)
        Dim dbs As DAO.Database
        Dim rsSQL As DAO.Recordset
        Dim strSQL As String
     
        Set dbs = CurrentDb
     
        'Open a snapshot-type Recordset based on an SQL statement
        strSQL = requete
     
        Set rsSQL = dbs.OpenRecordset(strSQL, dbOpenSnapshot)
     
        'Begin row processing
        Do While Not rsSQL.EOF
     
            Account = rsSQL![col_Account]
            SN = rsSQL![col_SN]
            SystemRole = rsSQL![col_SR]
     
            'choix de la colonne description du sr si cette colonne existe
            If col_Desc_SN = "" Then
                SystemRoleDescription = "N/A"
            Else
                SystemRoleDescription = rsSQL![col_Desc_SN]
            End If
     
            ' choix de l'environnement
            If col_Env_exist Then
                Environnement = rsSQL![col_Env]
            Else
                Environnement = col_Env
            End If
     
     
            If Left(Account, 3) = "ACC" Then
                Call Ajouter_Utilisateur(dbs, table, Account, SystemRole, SystemRoleDescription, Environnement)
            Else
                Call Ajouter_Utilisateur_Non_Trouve(dbs, table, Account)
            End If
            rsSQL.MoveNext
     
        Loop
     
        'Cleanup
        rsSQL.Close
     
    End Sub
    Le problème avec ce code est que la valeur des colonnes dans lesquelles je souhaite récupérer les valeurs est variable.
    Cette valeur est entrée dans les paramètres de la procédure mais a la ligne Account = rsSQL![col_Account] par exemple j'ai une erreur me disant que l'élément est introuvable dans la collection. Cependant en déboguant je remarque que la valeur de col_Account est la bonne.

    Pouvez vous m'aider SVP.

    Merci par avance pour votre réponse.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Par défaut
    Bon j'ai trouvé la réponse, en fait dans ma requête je met "select colonne1 as col1, colonne 2 as col2 ... " puis dans ma fonction je met rsSQL![col1].

    Ainsi dans ma requête je peux passer des nom de colonnes en variable avec "select " & variable_colonne & " as col1, " ...

    Même si personne n'a répondu je met la solution ici pour quelqu'un qui en aurai besoin, de l'aide est toujours utile !

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

Discussions similaires

  1. [MySQL] Récupération des données dans une table
    Par doudom dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/07/2007, 19h59
  2. extraction des données dans une table Access
    Par moabomotal dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 11h17
  3. Vérification de donné dans une table access
    Par xdiethank dans le forum VBA Access
    Réponses: 3
    Dernier message: 11/05/2006, 15h29
  4. Problème de récupérations de données dans une table mysql
    Par Helpine dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/03/2006, 19h07
  5. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11

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