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

IHM Discussion :

multiselection dans formulaire [AC-2013]


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 76
    Points
    76
    Par défaut multiselection dans formulaire
    Bonjour , on peut sélectionner pls enregistrements contigus pour faire une suppression ou un copie colle ds un formulaire.
    Existe t'il un moyen en vba de récupérer la clé des enregistrements selectionnes
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 101
    Points : 76
    Points
    76
    Par défaut
    Alors Voila
    Code place ds un module appelé recordsel

    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
    28
    29
    30
    31
    32
    33
    34
    35
     
    Compare Database
    Option Explicit
    Dim MySelTop As Long
    Dim MySelHeight As Long
     
    Dim MySelForm As Form
    Dim fMouseDown As Integer
    Function SelRecord(F As Form, MouseEvent As String)
       Select Case MouseEvent
          Case "Move"
             ' Store the form and the form's Sel property settings
             ' in the MySel variables ONLY if mouse down has not
             ' occurred.
             If fMouseDown = True Then Exit Function
             Set MySelForm = F
             MySelTop = F.SelTop
             MySelHeight = F.SelHeight
     
          Case "Down"
             ' Set flag indicating the mouse button has been pushed.
             fMouseDown = True
          Case "Up"
             ' Reset the flag for the next time around.
             fMouseDown = False
       End Select
    End Function
     
    Public Sub SelRestore()
    Debug.Print "got into Restore"
       ' Restore the form's Sel property settings with the values
       ' stored in the MySel variables.
       MySelForm.SelTop = MySelTop
       MySelForm.SelHeight = MySelHeight
     End Sub
    Soit un formulaire(fTypeSpectacle) avec un bouton pour declencher la recuperation de la cle primaire de chaque enregistrement selectionne dont le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub cmdSelectedCompanyNames_Click()
       Dim x
       ' Restore the lost selection.
       SelRestore
       ' Enumerate the list of selected company names.
       x = DisplaySelectedCompanyNames
    End Sub
    Le code de la fonction de recuperation par msgbox
    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
     
    Function DisplaySelectedCompanyNames()
       Dim i As Long
       Dim F As Form
       Dim RS As Recordset
       ' Get the form and its recordset.
       Set F = Me
       Set RS = F.RecordsetClone
       ' Move to the first record in the recordset.
       RS.MoveFirst
       ' Move to the first selected record.
       RS.Move F.SelTop - 1
       ' Enumerate the list of selected records presenting
       ' the CompanyName field in a message box.
       For i = 1 To F.SelHeight
         MsgBox RS![idTypeSpectacle]
         RS.MoveNext
       Next i
    End Function
    Et les 3 codes places sur les evenements up down et move de la souris dans le formulaire
    =SelRecord([Formulaire];"down")
    =SelRecord([Formulaire];"up")
    =SelRecord([Formulaire];"move")

    VOILOU!!!!

    Maintenant, il s'agit de savoir s 'il vaut mieux gerer les actions de suppression et de copier coller etc par ce biais (fausse multiselection puisque les enrgts doivent etre contigus ou supprimer simplement les selecteurs d enregt (plus de suppression possible par inadvertance)et mettre a la place des cases a cocher ds toutes les tables et gerer "proprement" ces actions???????


    Je me demande si la reponse n'est pas deja ds le ton de la question???

  3. #3
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Salut membres du forum !
    J'ai essayé d'appliquer les 3 codes dans un sous formulaires mais voici mes erreurs:

    Nom : CapturemultiselectionDansformulaireVba.PNG
Affichages : 177
Taille : 31,0 Ko

    Nom : CapturemultiselectionDansformulaireVba2.PNG
Affichages : 162
Taille : 25,8 Ko

    Je voudrais mieux comprendre
    Et les 3 codes places sur les evenements up down et move de la souris dans le formulaire
    =SelRecord([Formulaire];"down")
    =SelRecord([Formulaire];"up")
    =SelRecord([Formulaire];"move")
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

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

Discussions similaires

  1. suppression en cascade dans formulaire et sous-formulaire
    Par tooneygirl dans le forum Access
    Réponses: 7
    Dernier message: 20/06/2005, 14h17
  2. Réponses: 4
    Dernier message: 29/11/2004, 16h51
  3. Figer colonnes dans formulaire continu
    Par Mr.Gus dans le forum IHM
    Réponses: 10
    Dernier message: 30/11/2003, 13h59
  4. touche entrée dans formulaire
    Par pram dans le forum XMLRAD
    Réponses: 8
    Dernier message: 15/04/2003, 09h13
  5. [VB6]Multiselect dans un CommonDialog...
    Par Rumeurs dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 18/03/2003, 10h13

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