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 :

Mettre automatiquement un focus apres un evenement de flashage [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut Mettre automatiquement un focus apres un evenement de flashage
    Bonjour
    J'ai un formulaire qui contient :
    - un texte_box1
    - 3 sous formulaires A B et C
    - un sous formulaire D avec 3 CAB
    Dans ce sous formulaire D, lorsque je flashe le 1er CAB celui-ci s'affiche dans le texte_box1 et des donnees apparaissent ensuite dans le sous formulaire A.
    Le soucis est que, lorsque je dois flasher le deuxieme CAB, je dois d'abord cliquer sur le texte_box1 afin que le CAB s 'affiche bien dans le texte_box1...ensuite des donnees apparaissent dans le sous formulaire B.
    Et rebelotte, pour le flashage du troisieme CAB , je dois de nouveau cliquer dans le texte_box pour que le CAB s'affiche dans ce texte_box1 et ensuite les donnees apparaissent dans le sous formulaire C.

    Ma question est la suivante, comment puis je m y prendre pour que , apres chaque evenement de flashage, le focus se met automatiquement sur le texte_box1 ?
    Merci de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Qu'est-ce que tu entends par flashage et c'est quoi les CAB ?
    Est-ce que tu as des codes qui se lancent après tes "flashage" ?
    Vu qu'à priori c'est un problème de rafraichissement, il faudrait lancer un Requery sur ton txtbox_1 et sur les formulaires après les "flashage".

    Après, il nous faudrait les bouts de code pour plus d'information.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonjour madefemere
    Oublions le flashage ...On me demande maintenant de ne plus flasher les CAB mais plutôt cliquer sur les lignes des listes box qui compose mon formulaire.
    Je me heure à un obstacle, comment, dans un même formulaire, transferer une ligne selectionnée d'une listebox1 vers une listebox2 en sachant que aprés ce transfert, la ligne selectionnée disparait de la listebox1 ( et bien evidemment, elle s'afficherait dans ma listebox2).
    Merci

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    La page ICI des sources DU SITE devrait de donner un début de solution.

    Tu nous dis si t'as un problème.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Ok madefemere
    je vais parcourire ce tuto et je reviens vers toi si je bloque toujours...

  6. #6
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Salut madefemere,
    Super le tuto, j'ai pu reussir a creer mes deux listes box avec la possibilite de transferer une ligne selectionnee d'une liste box a une autre.
    Mais ce tuto est fait pour des cas simples....
    Je me heurte maintenant a une difficulte ( et il va en avoir d'autes je crois..) mais essayons de resoudre une probleme a la fois.

    Sur ma ListeBox_ Source (intitulee Liste_VracArrivee), lorsque je selectionne une ligne pour la transferer sur ma ListeBox_Destination ( intitulee Liste_ArriveeQuai ), je souhaiterais voir apparaitre un inputbox qui me demanderait l heure d'arrivee reelle (format hh:mm). Apres avoir entre cette heure reelle dans l inputbox, cette heure s'afficherait dans la ligne qui se trouverait dans la Listebox_destination.
    Et dans le cas d'une erreur de selection, ou je voudrais retransferer la ligne dans la ListeBox_Source, le champ "heure d'arrivee" disparaitrait.
    Je sais que je dois t en demander beaucoup...

    Ci dessous, tu trouveras les codes VBA de formulaire (pour ne pas alourdir la lisibilte des codes, je n'aie mis que ceux qui concernent ce cas precis)

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Private Sub Form_Open(Cancel As Integer)
    'Agrandi la fenetre au maximum
    DoCmd.Maximize
    'Ajuste l 'affichage de la page à la taille de l'écran
    appui_touche (90)
     
     
    Dim txt_ChaineSQL As String
    Dim Liste_VracArrivee As ListBox
    Dim Liste_ArriveeQuai As ListBox
     
    With Me.Liste_VracArrivee
        .ColumnHeads = True
        .ColumnCount = 7 ' nombre de colonne que dois avoir la listebox
        .BoundColumn = 1 ' la colonne de reference
        .RowSource = "Table/Requête"
     
     
    StrSQLSELECT = "SELECT tb_Liaison.No_Liaison, tb_ProvDest.Nom_Ville, tb_TypeLiaison.Type," & _
                 "tb_FrequenceLiaison.Frequence, tb_Liaison.Heure_Theo, tb_Remorque.No_remorque, tb_Liaison.Commentaires," & _
                 "tb_Liaison.Selection"
     
    strSQLFROM = "FROM tb_FrequenceLiaison INNER JOIN (tb_ProvDest INNER JOIN (tb_TypeLiaison INNER JOIN" & _
                "(tb_Remorque INNER JOIN tb_Liaison ON tb_Remorque.id_remorque=tb_Liaison.No_Remorque) ON " & _
                "tb_TypeLiaison.id_TypeLiaison=tb_Liaison.Mvt_Type) ON tb_ProvDest.id_ProvDest=tb_Liaison.Prov_Dest)" & _
                "ON tb_FrequenceLiaison.id_TypeFrequence=tb_Liaison.Freq_Type"
     
    strSQLWHERE = "WHERE NOT Selection;"
     
    txt_ChaineSQL = StrSQLSELECT & vbCrLf & _
                    strSQLFROM & vbCrLf & _
                    strSQLWHERE
     
     
        .RowSource = txt_ChaineSQL
        .Requery
      'Debug.Print txt_ChaineSQL
     
    End With
     
    With Me.Liste_ArriveeQuai
        .ColumnHeads = True
        .ColumnCount = 7 ' nombre de colonne que dois avoir la listebox
        .BoundColumn = 1 ' la colonne de reference
        .RowSource = "Table/Requête"
     
    StrSQLSELECT = "SELECT tb_Liaison.No_Liaison, tb_ProvDest.Nom_Ville, tb_TypeLiaison.Type," & _
                 "tb_FrequenceLiaison.Frequence, tb_Liaison.Heure_Theo, tb_Remorque.No_remorque, tb_Liaison.Commentaires," & _
                 "tb_Liaison.Selection"
     
    strSQLFROM = "FROM tb_FrequenceLiaison INNER JOIN (tb_ProvDest INNER JOIN (tb_TypeLiaison INNER JOIN" & _
                "(tb_Remorque INNER JOIN tb_Liaison ON tb_Remorque.id_remorque=tb_Liaison.No_Remorque) ON " & _
                "tb_TypeLiaison.id_TypeLiaison=tb_Liaison.Mvt_Type) ON tb_ProvDest.id_ProvDest=tb_Liaison.Prov_Dest)" & _
                "ON tb_FrequenceLiaison.id_TypeFrequence=tb_Liaison.Freq_Type"
     
    strSQLWHERE = "WHERE Selection;"
     
    txt_ChaineSQL = StrSQLSELECT & vbCrLf & _
                    strSQLFROM & vbCrLf & _
                    strSQLWHERE
     
     
        .RowSource = txt_ChaineSQL
        .Requery
      'Debug.Print txt_ChaineSQL
    End With
     
    End Sub
    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
    Private Sub TransposerElement(Liste_VracArrivee As ListBox, Liste_ArriveeQuai As ListBox, _
      Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
     
    Dim i As Integer
    Dim Db As DAO.Database
    Set Db = CurrentDb
     
    With Liste_VracArrivee
    'S'il ne faut déplacer que les élements sélectionnés,
    If LimiteSelection Then
     For i = 0 To .ListCount - 1
      'si l'élement est sélectionné dans la liste source,
      'inverse le champ selection
      If .Selected(i) Then
     
        Db.Execute "UPDATE Rq_tb_Liaison SET Selection= NOT Selection WHERE  No_Liaison=" & _
         Chr(34) & .Column(0, i) & Chr(34)
     
     
      End If
     Next i
    'sinon, permutte la globalité
    Else
    Db.Execute "UPDATE Rq_tb_Liaison SET Selection=" & CInt(bolSelection)
     
     
    End If
    'Rafraichit la zone de liste source
    .Requery
    End With
    'Rafraichit la zone de liste destination
    Liste_ArriveeQuai.Requery
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub GaucheDroite_Click()
    'Copie les élements sélectionnés vers la liste de droite
     
    TransposerElement Liste_VracArrivee, Liste_ArriveeQuai
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'Copie les élements sélectionnés vers la liste de gauche
    Private Sub DroiteGauche_Click()
    TransposerElement Liste_ArriveeQuai, Liste_VracArrivee
    End Sub

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    A priori, il faudrait une mise à jour d'un champ dans la requête "Rq_tb_Liaison" pour recevoir cette date réelle.
    Donc une modification de la Ligne 16 du code n°2 que tu présentes (Sans les champs de la requête, difficile d'être plus précis).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub TransposerElement(Liste_VracArrivee As ListBox, Liste_ArriveeQuai As ListBox, _
      Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True
    ...
    Db.Execute "UPDATE Rq_tb_Liaison SET Selection= NOT Selection WHERE  No_Liaison=" & _
         Chr(34) & .Column(0, i) & Chr(34)
    ...
    Et un argument supplémentaire "optionnel" devrait être rajouté dans ce module pour ajouter cette date ou mettre à zéro.

    Cet argument sera fourni lors de l'appel de la fonction avec les 2 évènements Sur_click de tes 2 boutons.

    Ce sont des pistes mais désolé je n'ai pas trop le temps de m'étendre sur les détails. Je regarderai plus vers la soirée.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  8. #8
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonjour,
    je vais suivre ta piste et je reviens vers toi si je bloque.
    C'est sympa de m'aider madefemere

  9. #9
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Madefemere,
    J'ai essaié donc d'inserer le champ date/heure dans le code sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Db.Execute "UPDATE Rq_tb_Liaison SET Selection= NOT Selection WHERE  No_Liaison=" & _
         Chr(34) & .Column(0, i) & Chr(34)
    Voici ce que j' ai fait :
    Dans un premier temps,
    1) Dans les 2 requetes SQL des deux liste_Box, j'ai inséré un champ date (intitulé dDate). Ce champ est vide dans ces deux requetes.

    2) Dans le formulaire F_Remorque_vrac, où se trouve mes deux liste_box, j'ai une étiquette (intitulé lb_DatePostale) qui m'affiche la date en format jj/mm/aaa hh :mm.
    Cette etiquette me donne la date et l'heure de maintenant .

    3) Je voulais donc inserer cette étiquette lb_DatePostale dans le code SQL mais cela ne fonctionne pas :
    je recois le message d'erreur suivant :
    - erreur d'execution '2465': impossible de trouver le champ .....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Db.Execute "UPDATE Rq_tb_Liaison SET Selection= NOT Selection WHERE  No_Liaison=" & _
         Chr(34) & .Column(0, i) & Chr(34) And dDate =[Formulaires]![F_Remorque_vrac]![lb_DatePostale]

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    En fait, le champ est à créer dans la table tb_Liaison , disons Heure_reel.
    Il faut intégrer ce champ dans la requête Rq_tb_Liaison.
    Et la requête mise à jour va être transformée en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Db.Execute "UPDATE Rq_tb_Liaison SET Selection= NOT Selection,Heure_reel =[Heure reel arrivee] WHERE  No_Liaison=" & _
         Chr(34) & .Column(0, i) & Chr(34)
    Après, il faudrait modifier [Heure reel arrivee] par un variable et trouver le moyen de l'introduire.
    Désolé mais je te conseille encore là sans aucune visibilité par manque de temps.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  11. #11
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    madefemere,
    dans la procédure ci dessous,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub TransposerElement(Liste_VracArrivee As ListBox, Liste_ArriveeQuai As ListBox, _
     Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
    voici le code vba que j'ai crée


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim variable1 As Date
    variable1 = CVDate(DatePostale)
     
     Db.Execute "UPDATE Rq_tb_Liaison SET Selection= NOT Selection WHERE  No_Liaison=" & _
         Chr(34) & .Column(0, i) & Chr(34) & " And heure_reel = # " & variable1 & " #"
    je 'ai pas d'erreur mais cette variable ne s'affiche pas sur ma listebox_destinataire et le transfert ne se fait plus..

    pour rappel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub setDatePostale()
    DatePostale = CDate(Format(Now, "dd/mm/yyyy hh:mm"))
    lb_DatePostale.Caption = DatePostale
    Me.Refresh
    End Sub

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Je mets en pièce-jointe la BD du tuto améliorée avec je pense ce que tu veux.
    J'utilise un inputBox pour récupérer l'heure exacte dans les modules.

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  13. #13
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonjour Madefemere,
    Merci pour ta réponse.
    J'ai donc copié ton code mais il ne fonctionne pas..

    Lorsque je clique sur une ligne de mon listebox_Source, j'ai bien un inputbox qui s'affiche pour me demande de saisir l'heure ( au fait le format de l'heure est bien hh:mm ????).
    Et aprés avoir saisie l'heure dans l'inputbox, je clique sur OK. Et là j 'ai un message d'erreur au niveau de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Db.Execute "UPDATE Rq_tb_Liaison SET Selection=NOT Selection,Heure_Selection = #" & prHeure_Exacte & "# WHERE No_Liaison=" & _
             Chr(34) & .Column(0, i) & Chr(34)
    .
    Le message d'erreur est le suivant : erreur de syntaxe dans la date dan sl'expression "##"

  14. #14
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Madefemere,
    je n'ai plus de messsage d'erreur, j'avais oublié de déclarer la variable heure_Selection.
    Aprés avoir référencé l'heure réelle dans l'inputbox, la ligne selectionnée est bien transférée de la listebox_Source à la listebox_destination mais je n'ai pas l'heure qui s'affiche dans ma listebox_destination.

  15. #15
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Oublie..
    j'ai fait une erreur de débutant...
    J'avais oublié de rajouter le champ "heure_selection" dans ma requete rq_tb_Liaison.
    Ca fonctionne..
    Mais je vois que si je veux retransferer une ligne de ma listebox_destination vers ma listebox_source, je dois de nouveau saisir l'heure dans l'inputbox.
    Je vais voir comment annuler cela car je n'ai pas besoin de saisir l'heure si je devais faire passer une ligne de ma listebox_destination vers ma listebox_source.
    Ne m'en veux si je te recontacte en cas de non reussite..

  16. #16
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    je n'y arrive pas..
    Je ne parviens pas à retirer l'inputbox pour retransferer une ligne sélectionnée de ma listebox_destination vers ma listebox_source

  17. #17
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Peux-tu mettre les 3 modules stp pour voir Transpose et DroiteGauche_Click
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  18. #18
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Voici les procédures

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Private Sub TransposerElement(Liste_VracArrivee As ListBox, Liste_ArriveeQuai As ListBox, prHeure_Exacte As Variant, _
      Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
     
     
    Dim i As Integer
    Dim Db As DAO.Database
    Set Db = CurrentDb
     
    With Liste_VracArrivee
    'S'il ne faut déplacer que les élements sélectionnés,
    If LimiteSelection Then
     For i = 0 To .ListCount - 1
      'si l'élement est sélectionné dans la liste source,
      'inverse le champ selection
     
      If .Selected(i) Then
        If IsNull(prHeure_Exacte) Then
            Db.Execute "UPDATE Rq_tb_Liaison SET Selection=NOT Selection,Heure_Selection= Null WHERE No_Liaison=" & _
             Chr(34) & .Column(0, i) & Chr(34)
        Else
            Db.Execute "UPDATE Rq_tb_Liaison SET Selection=NOT Selection,Heure_Selection  = #" & prHeure_Exacte & "# WHERE No_Liaison=" & _
             Chr(34) & .Column(0, i) & Chr(34)
     
     
      End If
      End If
     Next i
     
    'sinon, permutte la globalité
    Else
     
     
     If IsNull(prHeure_Exacte) Then
            Db.Execute "UPDATE Rq_tb_Liaison SET Selection=" & CInt(bolSelection) & ",Heure_Selection=Null"
        Else
            Db.Execute "UPDATE Rq_tb_Liaison SET Selection=" & CInt(bolSelection) & ",Heure_Selection=#" & prHeure_Exacte & "#"
        End If
        End If
    'Rafraichit la zone de liste source
    .Requery
    End With
    'Rafraichit la zone de liste destination
    Liste_ArriveeQuai.Requery
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Private Sub GaucheDroite_Click()
     
    'Copie les élements sélectionnés vers la liste de droite
    Heure_Exacte = InputBox("Saisissez l'heure exacte format hh:mm")
    If IsDate(Heure_Exacte) And InStr(Heure_Exacte, ":") <> 0 Then
    TransposerElement Liste_VracArrivee, Liste_ArriveeQuai, Heure_Exacte
    Else
        MsgBox "la date saisie est incorrecte !"
    End If
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Copie les élements sélectionnés vers la liste de gauche
    Private Sub DroiteGauche_Click()
     
    Heure_Exacte = InputBox("Saisissez l'heure exacte format hh:mm")
    If IsDate(Heure_Exacte) And InStr(Heure_Exacte, ":") <> 0 Then
    TransposerElement Liste_ArriveeQuai, Liste_VracArrivee, False
    Else
        MsgBox "la date saisie est incorrecte !"
    End If
    End Sub

  19. #19
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    L'erreur est dans le module DroiteGauche. Quand tu déselectionnes comme tu dis, pas besoin de demander la l'heure.
    Par contre, il faut mettre à Null l'heure existante. Donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'Copie les élements sélectionnés vers la liste de gauche
    Private Sub DroiteGauche_Click()
    TransposerElement Liste_ArriveeQuai, Liste_VracArrivee, Null, False
    End Su
    b

    En appelant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub TransposerElement(Liste_VracArrivee As ListBox, Liste_ArriveeQuai As ListBox, prHeure_Exacte As Variant, _
      Optional LimiteSelection As Boolean = True, Optional bolSelection As Boolean = True)
    On donne la valeur Null à prHeure_Exacte
    Et sera exécutée la requête (ligne 18) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Db.Execute "UPDATE Rq_tb_Liaison SET Selection=NOT Selection,Heure_Selection= Null WHERE No_Liaison=" & _
             Chr(34) & .Column(0, i) & Chr(34)
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  20. #20
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    madefemere,
    j'ai repris excatement tes modifications. Lorsque, de ma listebox_destination ( listebox_ArriveeQuai), je déselectionnne une ligne , je n'aie plus de message inputbox mais j'ai deux soucis :
    1 ) je ne peux plus transposer les lignes de droite à gauche
    2) toutes mes heures réelles ont disparues de ma listebox_destination (listebox_ArriveeQuai)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 5 12345 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/04/2015, 16h43
  2. Réponses: 1
    Dernier message: 15/12/2014, 10h47
  3. Réponses: 19
    Dernier message: 23/02/2008, 19h19
  4. Réponses: 3
    Dernier message: 27/04/2006, 16h29
  5. Lancer automatiquement un programme après connexion Internet
    Par sunshine dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 27/05/2005, 22h18

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