Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2417 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recupérer les infos des éléments d'une liste déroulante multichoix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recupérer les infos des éléments d'une liste déroulante multichoix

n°2190149
dany tall
Posté le 14-05-2013 à 17:32:28  profilanswer
 

Bonjour à tous,
 
je reviens avec un autre soucis sur mon code VB Access. N'ayant pas jusque là trouvé de solution sur mon problème précédent j'ai alors décidé de passer à autre chose qui semble bien marché mais j'ai deux débogages lors de l'exécution et je n'ai aucun affichage des informations que je veux récupérer sur les éléments sélectionnés dans mon état.
Je m'explique: J'ai fais deux listes déroulantes, une qui contient la liste des éléments à sélectionner (lstfrs) et une autre (lstfrsselectionnes) qui contiendra les éléments sélectionnés dans la liste "lstfrs" via des boutons de bascules que j'ai créé. Une fois que la bascule des éléments sélectionnés établi, je fais un clique sur le bouton "ok" qui me donne directement l'état de ces éléments. J'ai fais pour mon code un module standard qui contient toute la partie initialisation et dans le module du formule j'ai fais le code d'exécution même du processus. J'ai souligné et mis en gras les lignes où j'ai un débogage:
 
Voici mon code:
 
Code contenu dan le module standard:
 
 

Code :
  1. ' -----------------------------
  2.         ' INITIALISATION DES SELECTIONS
  3.         ' -----------------------------
  4.         ' Entrée : strTableCible     <- Nom de la table dont
  5.         '                               on veut sélectionner les lignes
  6.         '          strClefPrimaire   <- Nom de la clef primaire de la table cible.
  7.         '          strTableSelection <- Nom de la table de sélection
  8.         '          strWhere          <- Clause Where optionnelle
  9.         '
  10.         Sub InitialiserSelection( _
  11.           ByVal strTable As String, _
  12.           Optional ByVal strClefPrimaire As String, _
  13.           Optional ByVal strTableSelection As String = "Table sélection", _
  14.           Optional ByVal strWhere As String = "" )
  15.      
  16.           ' Vider la table des sélections
  17.           'strTableSelection = "[" & strTableSelection & "]"
  18.           'CurrentDb.Execute "DELETE * FROM " & strTableSelection & ";"
  19.           ' Renseigner les nouvelles valeurs
  20.           ' de la table des sélections
  21.           Dim strSQL As String
  22.           strSQL = "INSERT INTO " & strTableSelection & " (ID frs, Sélectionné)" _
  23.           & " SELECT [" & strClefPrimaire & "],True" _
  24.           & " FROM [" & strTable & "]"
  25.           If strWhere <> "" Then strSQL = strSQL & " WHERE " & strWhere
  26.           CurrentDb.Execute strSQL (1er débogage: Message d'erreur: "Erreur de syntaxe dans l'instruction INSERT INTO" )
  27.         End Sub
  28.         ' -------------------------------
  29.         ' SELECTIONNER TOUTES LES LIGNES
  30.         ' -------------------------------
  31.         Sub ToutSelectionner( _
  32.           Optional ByVal strTableSelection As String = "Table sélection" )
  33.           CurrentDb.Execute "UPDATE [" & strTableSelection & "] SET [Sélectionné] = True;"
  34.         End Sub
  35.         ' --------------------------------
  36.         ' DESELECTIONNER TOUTES LES LIGNES
  37.         ' --------------------------------
  38.         Sub ToutDeselectionner( _
  39.           Optional ByVal strTableSelection As String = "Table sélection" )
  40.           CurrentDb.Execute "UPDATE [" & strTableSelection & "] SET [Sélectionné] = False;"
  41.         End Sub
  42.         ' --------------------------------
  43.         'INVERSER LA SELECTION D'UNE LIGNE
  44.         ' --------------------------------
  45.         Sub InverserSelection( _
  46.             ByVal lngNumero As Long, _
  47.             Optional ByVal strTableSelection As String = "Table sélection" )
  48.           Dim strSQL As String
  49.           strSQL = "UPDATE [" & strTableSelection & "] SET [Sélectionné] = TRUE" _
  50.           & " WHERE [ID frs] = " & lngNumero
  51.           CurrentDb.Execute strSQL
  52.         End Sub
  53.         ' ------------------------------
  54.         ' COMPTER LE NOMBRE DE SELECTION
  55.         ' ------------------------------
  56.         Function NombreSelections( _
  57.             Optional ByVal strTableSelection As String = "Table sélection" ) As Long
  58.      
  59.             NombreSelections = DCount("*", strTableSelection, "[Sélectionné] = True" )
  60.        
  61.         End Function


 
 
 
 
 
 
Code contenu dan le module du formulaire:
 
 
 
 

Code :
  1. ------------------------
  2.         ' CHARGEMENT DU FORMULAIRE
  3.         ' ------------------------
  4.         Private Sub Form_Load()
  5.             InitialiserSelection "FOURNISSEURS", "ID frs", "Table sélection"
  6.             MiseAJourListes
  7.         End Sub
  8.         ' ----------------------
  9.         ' MISE A JOUR DES LISTES
  10.         ' ----------------------
  11.         Private Sub MiseAJourListes()
  12.             Me.lstfrs.Requery
  13.             Me.lstfrsselectionnes.Requery
  14.         End Sub
  15.         ' --------------------------
  16.         ' SELECTION D'UN FOURNISSEUR
  17.         ' --------------------------
  18.         Private Sub btnselectionun_Click()
  19.            InverserSelection Me.lstfrs.Value
  20.             'TransfererUn Me.lstfrs, Me.lstfrsselectionnes
  21.             MiseAJourListes
  22.         End Sub
  23.         ' ----------------------------
  24.         ' DESELECTION D'UN FOURNISSEUR
  25.         ' ----------------------------
  26.         Private Sub btndeselectionun_Click()
  27.             InverserSelection Me.lstfrsselectionnes.Value (2ème débogage: Message d'erreur: Utilisation incorrecte de NULL)
  28.             MiseAJourListes
  29.         End Sub
  30.         ' ----------------------------------
  31.         ' SELECTION DE TOUS LES FOURNISSEURS
  32.         ' ----------------------------------
  33.         Private Sub btnselectiontout_Click()
  34.             ToutSelectionner
  35.             MiseAJourListes
  36.         End Sub
  37.         ' ------------------------------------
  38.         ' DESELECTION DE TOUS LES FOURNISSEURS
  39.         ' ------------------------------------
  40.         Private Sub btndeselectiontout_Click()
  41.             ToutDeselectionner
  42.             MiseAJourListes
  43.         End Sub
  44.         ' --------------------------------------------
  45.         ' DOUBLE-CLIC POUR SELECTIONNER UN FOURNISSEUR
  46.         ' --------------------------------------------
  47.         Private Sub lstfrs_DblClick(Cancel As Integer)
  48.             btnselectionun_Click
  49.         End Sub
  50.         ' ----------------------------------------------
  51.         ' DOUBLE-CLIC POUR DESELECTIONNER UN FOURNISSEUR
  52.         ' ----------------------------------------------
  53.         Private Sub lstfrsselectionnes_DblClick(Cancel As Integer)
  54.             btndeselectionun_Click
  55.         End Sub
  56.         ' -----------------------
  57.         ' FERMETURE DU FORMULAIRE
  58.         ' -----------------------
  59.         Private Sub btnannuler_Click()
  60.             DoCmd.Close
  61.         End Sub
  62.         ' ------------------------
  63.         ' VALIDATION DU FORMULAIRE
  64.         ' ------------------------
  65.         Private Sub btnok_Click()
  66.             ' Est-ce qu'on a sélectionné au moins 1 fournisseur ?
  67.             If NombreSelections() = 0 Then
  68.                 MsgBox "Vous n'avez sélectionné aucun fournisseur !", vbExclamation
  69.                 Exit Sub
  70.             End If
  71.      
  72.             ' Fermer le formulaire et ouvrir l'état des fournisseurs
  73.             DoCmd.Close
  74.             DoCmd.OpenReport "rapport frs", acViewPreview, , "[Sélectionné] = True"
  75.         End Sub


 
 
 
 
Je vous remercie d'avance de votre aide.
 
Dany

mood
Publicité
Posté le 14-05-2013 à 17:32:28  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recupérer les infos des éléments d'une liste déroulante multichoix

 

Sujets relatifs
Recupérer les infos des éléments d'une liste déroulante multichoixTrier une liste de cellules
Quel module pour une liste déroulante de choix ?Scheme: comment supprimer doublons dans une liste
Plus de sujets relatifs à : Recupérer les infos des éléments d'une liste déroulante multichoix


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR