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 :

Ouverture d'un recordset en VBA pour effectuer un SELECT [AC-2000]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 83
    Par défaut Ouverture d'un recordset en VBA pour effectuer un SELECT
    Bonjour
    N’arrivant pas à trouver réponse à ma question je me retourne vers vous.

    J’ai fait une requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [demande_de_service].[envoi_ds] FROM demande_de_service;
    Table : demande_de_service
    Champ : envoi_ds.

    J’aimerais récupérer toute les valeurs de c’est champ et les stocker dans une variable string, j’ai du mal à trouver la syntaxe pour appliquer ma requête dans mon code, pourriez vous m’aider ?
    J’ai pensé à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim date_envoi_ds as string
    Date_envoi_ds = SELECT [demande_de_service].[envoi_ds] FROM demande_de_service;
    Merci d'avance
    Rémy

  2. #2
    Membre éprouvé Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Par défaut
    Salut

    Pour récupérer les valeurs d'une requete Select je te conseille d'utiliser les Recordset

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim rs as recordset
     
    'On créé un recordset qui va contenir le résultat de ta requete
    'On peu le voir comme un tableau dont les colonnes sont les champs de ta requete
    'Et les lignes correspondent au nombre de résultat
    set rs = currentdb.openRecordset("SELECT Nom, Prenom FROM TaTable Where ...")
    et ensuite tu peux traiter les données

    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
    'Si le nombre de résultat est différent de 0 Alors
    if rs.recordcount <> 0 then
        'Tant qu'on a pas parcouru tous les enregisrements
        While not rs.EOF
            'On affiche dans un msgBox la valeur du champ 1 et du champ 2
            'les deux façons d'accéder aux valeurs sont 
            'rs.fields("LeNomDuChamp")
            'ou
            'rs.fields(LeNuméroDuChampDansLaRequete)
     
            'Ici ça affiche les valeurs de 'Nom' et 'Prenom'
            msgbox rs.fields("Nom") & rs.fields(1)
     
            'On passe au résultat suivant de la requete
            rs.moveNext
        Wend
    else
        ' Aucun enregistrement trouvé
    Endif

    voilou

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 83
    Par défaut
    Merci de porter attention à ma demande Jimay.

    D'apres ce que tu ma dit cela donne ceçi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rs = CurrentDb.OpenRecordset("SELECT envoi_ds FROM demande_de_service")
    Access me mais Incompatibilité de type.
    Je me demande si ce n'est pas parce que mon champ est un champ date.

    Ensuite le reste de ton code j'ai pas tout compris... c'est pour afficher tout les enregistrements dans plusieurs msgbox ?

  4. #4
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim rs As DAO.Recordset
    en ajoutant la référence DAO au projet comme mentionné dans la FAQ

  5. #5
    Membre éprouvé Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Par défaut
    Re,

    J'ai commenté un peu mon précédent message.

    Mais je t'invite à rechercher dans la FaQ du site pour trouver toutes sortes d'informations sur les recordsets (moi même je ne m'y connais que très peu..)

    ++

  6. #6
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2008
    Messages : 83
    Par défaut
    Je vous remerci vous deux pour votre aide et je vous souhaite bon courage pour la suite.

    Bonne journée
    Cordialement,
    Rémy

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

Discussions similaires

  1. Code vba pour ouverture en mode calcul sur ordre
    Par ciambe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2013, 13h01
  2. [XL-2003] Vba pour effacer Vba ou bloquer l'ouverture du classeur
    Par pointp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/05/2010, 15h36
  3. [Toutes versions] Requête SQL dans VBA pour effectuer un calcul
    Par Lincoln911 dans le forum VBA Access
    Réponses: 7
    Dernier message: 07/04/2010, 14h47
  4. Réponses: 13
    Dernier message: 15/06/2006, 11h31
  5. Type de données pour effectuer une différence en vba
    Par snoopy69 dans le forum Access
    Réponses: 4
    Dernier message: 03/03/2006, 07h49

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