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

Access Discussion :

Exploiter en vba les données d'une requête existante


Sujet :

Access

  1. #1
    Ps4
    Ps4 est déconnecté
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Points : 41
    Points
    41
    Par défaut Exploiter en vba les données d'une requête existante
    Bonjour !!

    Mon obectif est d'exploiter en vba les données d'une requête sélection.
    J'ai trouvé un sujet dans la FAQ pour cela et voilà le code que j'ai écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim test as Integer
    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
    Set qdf = CurrentDb.QueryDefs("ma_requête")
    Set rcs = qdf.OpenRecordset 
     
    rcs.MoveFirst
    While Not rst.EOF   
       test = rcs.Fields("Mon_champ").Value
     rst.MoveNext
    Wend
    Set qdf = Nothing
    Quand j'éxecute une erreur d'execution se produit sur la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rcs = qdf.OpenRecordset
    et me dis : Trop peu de paramètre.1 attendu.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    As-tu essayé de lancer ta requête, et de voir si elle fonctionnait ?

    Car ton code à l'air correcte !
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Ps4
    Ps4 est déconnecté
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    Oui j'ai essayé elle fonctionne très bien.

  4. #4
    Ps4
    Ps4 est déconnecté
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    J'avais un paramètre sur un champ ds ma requête, je viens de l'enlever et ça fonctionne.
    Le problème semblerait venir de là.

    En fait je devais avoir oublié cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qdf.Parameters("NomParamètre") = valeur     '<== si requête paramétrée
    Le seul problème est que je n'arrive pas à la remplir, j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    qdf.Parameters("[mon_champ]") = [Formulaires]![Form ajout gamme]![Article fabriqué ind]
    et j'ai un message d'erreur : impossible de trouver le champ auquel il est fait réference ds votre expression

  5. #5
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    s'il te mets cette erreur
    c'est qu'elle n'exite pas ou que le formulaire est fermé
    A+

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Essaye en modifiant ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qdf.Parameters([mon_champ]) = [Formulaires]![Form ajout gamme]![Article fabriqué ind]
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Je n'utilise pas cette syntaxe, mais si tout le monde dit que c'est bon, c'est que ça doit l'être. ce qui m'étonnerait c'est que cela puisse marcher sans ouvrir la requête.

    J'utiliserais plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set rcs = CurrentDb.OpenRecordset( qdf.name, dbopendynaset)
    Bonne journée,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  8. #8
    Ps4
    Ps4 est déconnecté
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup messieurs mais je n'y arrive pas. Je repars sur une autre solution proposé dans la FAQ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Dim cnn As New ADODB.connection, rst As New ADODB.Recordset, fld As ADODB.Field
        ' Ouverture de la connexion
        cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=.\Comptoir.mdb;"
        ' Ouverture du Recordset en défilement en avant, et en lecture seule
        rst.Open "SELECT * FROM Clients WHERE Région ='WA'", cnn,  adOpenForwardOnly, adLockReadOnly
        ' Fermeture du Recordset
        rst.Close
    Le problème cette fois viens de la partie DataSource
    Je n'arrive pas à lui faire avaler le nom de ma base.

Discussions similaires

  1. [AC-2007] Filtrer les données d'une requête en passant par VBA
    Par Oliv'83 dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/04/2011, 12h07
  2. Réponses: 5
    Dernier message: 07/09/2006, 14h41
  3. Remplir Etat avec les données d'une requête
    Par emeraudes dans le forum IHM
    Réponses: 9
    Dernier message: 31/05/2006, 16h55
  4. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 15h53
  5. Réponses: 2
    Dernier message: 05/10/2005, 15h27

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