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 :

stocker résultat requète dans variable string


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Par défaut stocker résultat requète dans variable string
    Bonjour,

    je n'arrive pas à faire la chose suivante:

    je voudrais récupérer le résultat d'une requète (select (un champs texte) dans une table) et le stocker dans une variable de type String afin de pouvoir ensuite l'utiliser dans mon code vb.

    Quelqu'un aurait-il une piste?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Par défaut
    Bonjour,
    Regarde du côté des recordset (objets DAO).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Par défaut
    Oui justement j'étais en train de voir ça...
    J'ai trouvé ça dans un tutorial sur notre site préféré:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Sub DAOOpenRecordset ()
        Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
        Dim sSQL As String
        ' Ouverture de la base de données 
        Set db = DBEngine.OpenDatabase (".\Comptoir.mdb")
        sSQL =  "Select * From CLIENTS Where Région= 'WA'"
        ' Ouverture du recordset 
        Set rst = db.OpenRecordset (sSQL, dbOpenForwardOnly, dbReadOnly)
        ' Fermeture du Recordset
        rst.Close
    End Sub
    Mais je ne comprends pas bien le fonctionnement.
    On récupère le champs désiré sous quelle forme?

    Le format "DAO.Recordset" peut contenir du texte? du numérique?

    Car je dois ensuite faire un traitement sur le champs texte récupéré, et il faudrait que ce soit de type STRING.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Par défaut
    Salut,

    uns fois un recordset calculé (la ligne Set rst = db.OpenRecordset (sSQL, dbOpenForwardOnly, dbReadOnly) exécuté), tu peux atteindre le résultat a l'aide de la propriété fields.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    set oRst = currentdb.openrecordset ("SELECT MonCode, MonLibelle FROM MaTable WHERE MonCode = .....")
     
    oRst.MoveFirst
    oRst.fields("MonCode") = oRst.fields(0) = valeur de MonCode dans la premiere ligne de oRst
    oRst.MoveNext
    oRst.fields("MonLibelle") = oRst.fields(1) = valeur de MonLibelle dans la ligne
    suivant de oRst

    Ainsi de suite. Voir le tuto sur l'utilisation de dao

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 69
    Par défaut
    Ah bah voila!
    il fallait utiliser "field" C'est la partie qu'il me manquait! Merci beaucoup, je devrais arriver à faire dont j'ai besoin avec ça!


    Juste une question en rapport avec ton code la:
    A quoi servent les moveFirst et moveNext?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Par défaut
    Pour se déplacer d'un enregistrement à l'autre dans un recordset, il y a une liste de commandes.
    MoveFirst => se place sur le premier
    MoveLast => dernier
    MoveNext => suivant
    MovePrev (?) => precedant

    Il y a aussi eof pour tester si tu es en fin de recordset et surement l'equivalent pour savoir si tu es au début (avant le 1er)

Discussions similaires

  1. [Tableaux] résultat requête dans une variable
    Par jedi186 dans le forum Langage
    Réponses: 4
    Dernier message: 22/02/2007, 13h43
  2. [Oracle] Stocker ma requête dans un fichier poyr y faire appel en PHP
    Par alex007 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/03/2006, 10h11
  3. Ajout Résultat Requête dans Table en VBA
    Par lito74 dans le forum Access
    Réponses: 4
    Dernier message: 24/02/2006, 15h43
  4. [VB]résultat requête dans un tableau
    Par blaiso dans le forum VB 6 et antérieur
    Réponses: 29
    Dernier message: 30/01/2006, 16h26
  5. [IB6] Stocker résultat requête ds fichier txt réseau
    Par Cerberes dans le forum Débuter
    Réponses: 6
    Dernier message: 04/10/2004, 15h13

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