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 :

Requête SELECT en VBA [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut Requête SELECT en VBA
    Bonjour,

    J'ai un problème de requête en VBA. Avant toute chose voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Dim rst As Recordset
     
        courssql = "SELECT Id FROM Table1 "
        Set rst = CurrentDb.OpenRecordset(courssql)
        MsgBox rst.RecordCount
        MsgBox rst.Fields(1)
        MsgBox rst.Fields(2)
    C'est un code de test pour vous expliquer.

    Dans ma Table1, j'ai un champ Id qui contient plusieurs enregistrements. Je voudrais récupérer tous les enregistrements du champ Id de ma Table1 sauf que le RecordCount ne m'affiche que 1 résultat et quand j'affiche ce résultat c'est la première valeur qui apparaît.
    De plus la ligne MsgBox rst.Fields(2) me renvoie une erreur comme quoi le champ est vide(ce qui est logique car il n'y a qu'un résultat dans rst).

    Ce que je voudrais c'est récupérer tous les enregistrement d'un champ dans une "variable" pour pouvoir les mettre dans un formulaire mais je crois que je n'utilise pas la bonne méthode. Pouvez-vous me dire en quoi le programme utilisé au dessus est faux et comment est ce que je pourrais avoir le bon résultat.

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    Bonjour,

    Pour le recordcount,
    essayez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rst.movelast 'Accède au dernier enregistrent
    MsgBox rst.RecordCount 'Affiche le nombre d'enregistrement
    Pourquoi voulez vous mettre tous vos enregistrements dans une variable (je suppose un tableau ?)

    Cordialement

  3. #3
    Membre averti
    Inscrit en
    Février 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 32
    Par défaut
    Citation Envoyé par morinxav Voir le message
    Ce que je voudrais c'est récupérer tous les enregistrement d'un champ dans une "variable" pour pouvoir les mettre dans un formulaire
    Que veux tu faires exactement avec ces données dans le formulaire?

    Les mettres dans une zone de liste d'un formulaire? (liste qui permets à l'utilisateur de séléctionner une ou plusieur valeurs)

    Les utiliser comme des critères pour une requête?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut
    Merci pour vos réponses!

    En fait ce que je veut faire, c'est ajouter dans mon formulaire des nouveaux éléments en fonction du nombre d'enregistrement qu'il y a dans ma table.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut
    J'ai essayé avec le .MoveLast et ça me donne bien le nombre d'enregistrement ça marche. Donc si je comprend bien, il faut se "déplacer" dans l'objet Recorset pour accéder à l'enregistrement voulu (moveLast: le dernier , moveFirst: le premier) mais comment on atteint les autres?

  6. #6
    Membre expérimenté Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Par défaut
    tu as plusieurs methodes pour te déplacer.
    Movefirst, movelast, movenext, moveprevious, move (N° de ligne)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut
    Citation Envoyé par Flyoss Voir le message
    tu as plusieurs methodes pour te déplacer.
    Movefirst, movelast, movenext, moveprevious, move (N° de ligne)
    Merci

  8. #8
    Membre chevronné
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    Citation Envoyé par morinxav Voir le message
    Merci pour vos réponses!

    En fait ce que je veut faire, c'est ajouter dans mon formulaire des nouveaux éléments en fonction du nombre d'enregistrement qu'il y a dans ma table.
    Bonjour,


    Est-ce que :

    - Vous ajoutez ces lignes en un contrôle de formulaire (avoir une liste d'enregistrement de votre table) ?

    - Vous ajoutez à une autre table des enregistrements (par exemple pour chaque ligne dans la table client, vous ajouter une ligne dans la table commande) ?

    - Vous essayez de dupliquer votre table ?

    Peut-être gagneriez vous à nous expliquer en quoi consiste votre base et ce que vous cherchez à faire (je fais une table qui gèrent XXXX et là je voudrais que quand une commande....)

    Cordialement.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 53
    Par défaut
    En fait j'ai une table cours qui contient un idcours et un intitulécours. Je voudrais que pour chaque cours je créer dans un formulaire x TextBox qui vont enregistrer dans un autre tables des valeurs (ici un nombre d'heures prévu de cours) pour chaque cours.

  10. #10
    Membre chevronné
    Homme Profil pro
    Amateur
    Inscrit en
    Octobre 2010
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Octobre 2010
    Messages : 205
    Par défaut
    Citation Envoyé par morinxav Voir le message
    En fait j'ai une table cours qui contient un idcours et un intitulécours. Je voudrais que pour chaque cours je créer dans un formulaire x TextBox qui vont enregistrer dans un autre tables des valeurs (ici un nombre d'heures prévu de cours) pour chaque cours.
    Est-ce que vous avez un "Cours physique - chimie" et pour ce cours session du 13/04/2012 à 10 h, durée 1 h
    15/04/2012 à 14 h, durée 2 h
    etc... ?

    Cordialement.

  11. #11
    Membre expérimenté Avatar de Flyoss
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Par défaut
    Bonjour,

    Je ne vois pas trop ce qui ne fonctionne pas.

    Citation Envoyé par morinxav Voir le message
    C'est un code de test pour vous expliquer.
    Peut-être s'agit-il simplement d'une erreur de frappe ou d'inattention dans le code original.

    Auquel cas si on pouvait avoir ce code...

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

Discussions similaires

  1. [AC-2010] Requête Select depuis VBA
    Par jslpfasc2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/04/2014, 19h25
  2. Réponses: 2
    Dernier message: 11/01/2013, 20h10
  3. [AC-2003] Utiliser variable dans requête Select [VBA]
    Par jacda dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 12/11/2009, 16h26
  4. requête de selection sur VBA?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 28/08/2006, 10h58
  5. Ouvrire requête de selection en VBA ..
    Par snoopy69 dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 15h55

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