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 :

Selection de record dans un form


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 92
    Points : 43
    Points
    43
    Par défaut Selection de record dans un form
    , je cherche à créer une boucle, basée sur les records selectionnés dans un form (en mode feuille de données).

    Un truc du genre(mais qui marche):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    For each Record in Form
     
    If Record.selected = true then CALL MACRO
     
    Next Record

    Merci d'avance pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 35
    Points
    35
    Par défaut
    Bonsoir,
    Vous pouvez utiliser une procédure de lecture de table comme le modèle ci-dessous :
    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
    Private Sub LectTable()
     
    Dim Connexion As ADODB.Connection
    Dim RsEcr As ADODB.RecordSet
     
    ' Déclaration de la variable de connection
    Set Connexion = New ADODB.Connection
    ' Initialisation des recordsets
    Set RsEcr = New ADODB.RecordSet
    ' Initialisation de la table Ecritures et du mode d'acces a la table
    RsEcr.CursorType = adOpenKeyset
    RsEcr.LockType = adLockPessimistic
    RsEcr.Open "Ecritures", CurrentProject.Connection
     
     RsEcr.MoveFirst
     
        While RsEcr.EOF = False
     
    ‘ Ici le traitement des enregistrements
     
            RsEcr.MoveNext
        Wend
     
    RsEcr.Close
    Set RsEcr = Nothing
    Set Connexion = Nothing
    Exit Sub
    Rien de plus.

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Citation Envoyé par krhyme Voir le message
    , je cherche à créer une boucle, basée sur les records selectionnés dans un form (en mode feuille de données).

    Un truc du genre(mais qui marche):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    For each Record in Form
     
    If Record.selected = true then CALL MACRO
     
    Next Record
    Vu le "code" exemple que tu fournis, je pense qu'un tour du coté des tutos te ferais le plus grand bien car je doute, qu'une fois le recordset créé, tu saches correctement le manipuler. D'ailleurs est-ce vraiment un recordset que tu veux manipuler... Quel est ton but?

    tuto sur DAO:
    http://warin.developpez.com/access/dao/?page=sommaire


    Dans ton cas, le plus simple est de s'appuyer sur le recordsetclone (voire recordset) du formulaire.
    En DAO, cela donne qq chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim orst As DAO.Recordset
     
    Set orst = Me.recordsetclone
    while not orst.EOF
        '... ton code ici
     
        orst.movenext
    wend
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 92
    Points : 43
    Points
    43
    Par défaut
    Merci PhilC, cependant j'ai deux petites questions:

    Quelle est la référence à ajouter, et cette manipulation est-elle possible dans un subform ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 37
    Points : 35
    Points
    35
    Par défaut
    Pour utiliser les ADO il faut rajouter les bibliothèques suivantes :
    - ActiveX Data Object
    - ADO Extensions for DDL and Security
    - Microsoft Jet and Replication Objects
    Avec ces 3 biblio. tu as pratiquement tous les objets nécessaires.
    Tu peux utiliser ce code dans n'importe quel module.
    Bye

  6. #6
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 92
    Points : 43
    Points
    43
    Par défaut
    Merci Mout1234,

    C'est vrai que je débute en ACCESS, je suis plutôt un EXCEL-guy.

    Je vais t'expliquer ce que je veux faire:

    J'ai un formulaire principal dans lequel j'ai placé un bouton "print", je voudrais que lorsque que je clique sur ce dernier, cela me lance un état pour chacun des records séléctionnés dans le subform du formulaire principal.

    Merci.

  7. #7
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par krhyme Voir le message
    Merci Mout1234,

    C'est vrai que je débute en ACCESS, je suis plutôt un EXCEL-guy.

    Je vais t'expliquer ce que je veux faire:

    J'ai un formulaire principal dans lequel j'ai placé un bouton "print", je voudrais que lorsque que je clique sur ce dernier, cela me lance un état pour chacun des records séléctionnés dans le subform du formulaire principal.

    Merci.
    Pas le temps de t'expliquer maintenant mais tu as sans doute plus simple par le biais du paramètre ConditionWhere de la commande OpenReport...
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  8. #8
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 92
    Points : 43
    Points
    43
    Par défaut
    Ok, je vais me creuser un peu plus la tête, merci quand même.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2008, 13h16
  2. Erreur sur suppression Record dans SS form
    Par Maxsen dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/02/2008, 21h45
  3. Garder l'ordre des Records dans une requete select distinct
    Par pobrouwers dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 21/02/2007, 22h06
  4. Réponses: 3
    Dernier message: 06/09/2006, 14h02
  5. Réponses: 2
    Dernier message: 07/02/2006, 20h42

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