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 :

Problème avec Bouton de Déplacement "Précédent et suiva


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut Problème avec Bouton de Déplacement "Précédent et suiva
    Bonjour à tous,

    Voilè mon problème :

    J'ai créer 2 bouton de déplacements : Précédent et suivant mais il ne marche qu'une fois.

    Voici mon code pour le bouton Précédent :
    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
    Private Sub Commande87_Click()
    On Error GoTo Err_Commande87_Click
     
    Dim P As DAO.Recordset
     
    Set P = CurrentDb.OpenRecordset("Select * From CLIENT Where Code_Commerciaux = " & Chr(34) & Modifiable3 & Chr(34))
     
     
    Texte16 = P.Fields("Num_Clt")
    Texte18 = P.Fields("Nom_Clt")
    Texte26 = P.Fields("Adr_Rue_Clt")
    Texte29 = P.Fields("Adr_Ville_Clt")
    Texte32 = P.Fields("Adr_CP_Clt")
    Texte36 = P.Fields("Tel_Clt")
    Texte40 = P.Fields("Présentation_Clt")
    P.MovePrevious
    Set P = Nothing
     
    Exit_Commande87_Click:
        Exit Sub
     
    Err_Commande87_Click:
        MsgBox Err.Description
        Resume Exit_Commande87_Click
     
    End Sub

    Et Voici le code pour le bouton Suivant :

    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
    Private Sub Commande44_Click()
    On Error GoTo Err_Commande44_Click
    Dim P As DAO.Recordset
     
    Set P = CurrentDb.OpenRecordset("Select * From CLIENT Where Code_Commerciaux = " & Chr(34) & Modifiable3 & Chr(34))
    If Not P.EOF Then
    P.MoveNext
    Texte16 = P.Fields("Num_Clt")
    Texte18 = P.Fields("Nom_Clt")
    Texte26 = P.Fields("Adr_Rue_Clt")
    Texte29 = P.Fields("Adr_Ville_Clt")
    Texte32 = P.Fields("Adr_CP_Clt")
    Texte36 = P.Fields("Tel_Clt")
    Texte40 = P.Fields("Présentation_Clt")
    End If
     
    P.Close
    Set P = Nothing
    Exit_Commande44_Click:
        Exit Sub
     
    Err_Commande44_Click:
        MsgBox Err.Description
        Resume Exit_Commande44_Click
     
    End Sub

    Pouvez-vous m'aider car je n'arrive pas à trouver la solution?

    Merci d'avance

  2. #2
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Bonjour,
    le problème est simple: à chaque fois que tu appuies sur ton bouton, tu exécutes ton code, tu ouvres ton recordset, tu fais ta manip, et tu fermes ton recordset (automatique).

    Donc, à chaque fois tu repars du début. il faut éviter que le recordset soit fermé (en le rendant global (cf notion de portée de variable), par exemple).

    Maintenant, si ton objectif est de te déplacer dans les enregistrements de la source de donnée de ton formulaire, tu ne dois pas faire comme ca, mais plutôt utiliser la méthode GoToRecord de l'objet DoCmd.
    Tu trouveras plus de détails dans les FAQ et Tutoriels
    XP

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Je n'est pas compris ce que tu voulais dire?

  4. #4
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Autrement dit:
    quand tu appuies sur le bouton commande44, tu executes la procédure Commande44_Click() .
    Dans cette procédure tu ouvres un jeu d'enregistrements (OpenRecordset) qui s'appelle P, et tu te positionnes automatiquement sur le premier enregistrement.
    Ensuite, tu te positionnes sur l'enregistrement suivant P.MovePrevious (ca marche)
    tu fermes le recordset (set p=Nothing)

    La procédure se termine.
    Tu appuies de nouveau sur ton bouton, il se passe exactement la même chose.
    donc tu ne peux pas avancer.

    Si ton formulaire affiche les clients d'un commercial choisi dans une liste, tu pourrais faire plutôt quelque chose du style:
    1) Lier le formulaire à la table des clients : propriété Source du formulaire :
    2) Lier les zone de textes aux champs de table
    3) Sur mise à jour de ta liste des clients tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.RowSource="Select * From CLIENT Where Code_Commerciaux = " & Chr(34) & Modifiable3 & Chr(34)"
    Me.Requery
    Du coup Ton formulaire ne peut afficher que les clients du commercial de la liste.
    4) sur click du bouton suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande44_Click() 
    On Error GoTo Err_Commande44_Click 
     
    DoCmd.GoToRecord , , acNext
     
    Exit_Commande44_Click: 
        Exit Sub 
     
    Err_Commande44_Click: 
        MsgBox Err.Description 
        Resume Exit_Commande44_Click 
    End Sub
    et là ca marche....
    XP

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Qu'est ce que tu met entre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        DoCmd.GoToRecord , , acNewRec
    ?

  6. #6
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Rien
    XP

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Je ne comprend pas ce que tu veut dire. Peut tu m'expliquer clairement?

    En fait il doit manquer juste un petit truc dans mon code mais je ne sais pas quoi. Si tu le sais peut tu me le dire?

  8. #8
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    il existe un code tout fait sur le forum sur la création des boutons de navigation fait par FRED. adapte le et le tour est joué.il suffit de chercher. http://www.developpez.net/forums/vie...r=asc&start=15.

    merci de chercher avant de poster.

  9. #9
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    J'ai été voir le code de Fred et ilme paraît très compliquer.

    Pourrez-vous me donner un truc plus simple, si vous le pouvez?

    Merci d'avance

  10. #10
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Plus simple : tu utilises l'assistant pour créer ton bouton de déplacement : il fait tout tout seul.
    XP

  11. #11
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Oui je le sais mais ca ne marche pas ca met le messabe suivant :

    Impossible d'atteindre l'enregistrement spécifié.

  12. #12
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Ton formulaire est-il rattaché à une source de données ?
    Moi, je crois que non.
    Tu devrais, comme je dis plus haut.
    1) Lier le formulaire à la table des clients : propriété Source du formulaire :
    puis assistant.
    XP

  13. #13
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Oui je veut bien mais si dans mon formulaire j'ai fait un contrôle onglet et que dans les différentes feuilles j'ai plusieurs bouton de déplacement et que je n'ai pas que la TABLE client qui est relié au formulaire mais plusieurs Tables. Est ce que cela va poser un pb?

  14. #14
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Il y a un problème
    Tu as 1 formulaire, donc 1 source de données et plusieurs onglets.
    Le bouton suivant permet d'afficher l'enregistrement suivant de la source de données.
    De mon point de vue, il n'y a pas de problèmes, mais je pense que tu te mélanges les pinceaux.
    Peux tu être plus précis : quelle est la source de données? qu'affiches tu sur tes onglets? Que veux tu faire réellement?

    Utilises les boutons de déplacement intégrés au formulaire(ils ont les mêmes effets), regarde ce que ca fait.
    XP

  15. #15
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    J'ai fait le test en créant un autre formulaire et ca marche.

    Donc je vais t'expliquer en détail ce que fait mon formulaire.

    Sur le premier onglet je récupere le Code_Commerciaux à l'aide d'une zone de liste modifiable.
    Ensuite il y a 2 TextBox qui sont Nom et Prenom du Commerciaux. Lorsque je séléctionne un Code_Commerciaux mais 2 TextBox se remplisse.

    Dans le 2ème onglet j'ai 7 TextBox qui prenne les informations sur le client dont il est relié au Code_Commerciaux grâce à la zone de liste modifiable du 1er onglet.
    Mais comme pour 1 commerciaux il y a plusieurs commerciaux, j'avais penser de faire des boutons de déplacement (Premeir, Suivant, Précédent, Dernier).

    Est ce que c'est plus clair?

  16. #16
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    C'est bien ce que j'avais compris : je te renvoies au post :

    1) Tu Lies le formulaire à la table des clients : propriété Source du formulaire :
    2) Lier les zone de textes aux champs de table (par exemple propriété Source contrôle de Texte16 : Num_Clt
    3) Sur mise à jour de ta liste des clients tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.RowSource="Select * From CLIENT Where Code_Commerciaux = " & Chr(34) & Modifiable3 & Chr(34)" 
    Me.Requery
    Du coup Ton formulaire ne peut afficher que les clients du commercial de la liste.
    4) sur click du bouton suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande44_Click() 
    On Error GoTo Err_Commande44_Click 
     
    DoCmd.GoToRecord , , acNext 
     
    Exit_Commande44_Click: 
        Exit Sub 
     
    Err_Commande44_Click: 
        MsgBox Err.Description 
        Resume Exit_Commande44_Click 
    End Sub
    et là ca marche.... à nouveau...
    XP

  17. #17
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Je n'y arrive toujours pas car je ne comprend pas de trop ce que tu veut dire par "mise à jour de ta liste des clients" parceque en fait je n'est pas de liste des clients mais une liste de code commerciaux. Et en plus il y a d'autre page comme la page projet qui a aussi un bouton de déplacement.

  18. #18
    xp
    xp est déconnecté
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Février 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 23
    Points : 32
    Points
    32
    Par défaut
    Je n'y arrive toujours pas car je ne comprend pas de trop ce que tu veut dire par "mise à jour de ta liste des clients"
    Sur l'évènement apès mise à jour
    parceque en fait je n'est pas de liste des clients mais une liste de code commerciaux.
    Mea culpa, je voulais dire commerciaux, bien sur.
    Et en plus il y a d'autre page comme la page projet qui a aussi un bouton de déplacement.
    D'après ce que tu as dis tu as deux pages :
    une avec la liste pour choisir le commercial et ici, je ne vois pas pourquoi tu aurais un bouton suivant,
    une avec les clients du commercial choisi.
    donc si tu fais suivant, avec le code que je t'ai donné, ton formulaire affiche les cllients du commercial choisi.
    Le bouton suivant précédent dépalce d'un client à l'autre.
    C'est vrai, avec mon code, ta zone de liste commerciaux est recalculée, doncce que tu avais choisi a disparu de la liste.

    Sache qu'un bouton de déplacement ""affecte tous le formulaire"" pas seulement la page sur lequel tu l'a mis...
    A moins que tu aies des sous-formulaires ??? (mais j'en doute compte tenu de ce que tu as dis)

    en espérant que ca aille mieux
    XP

  19. #19
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Coucou tout le monde,

    J'ai fait ce que tu m'a dit et ce ne marche toujours pas.

    Je te rexplique j'ai en fait 5 pages dans mon formulaires grâce à un onglet.

    Dans la 1ère feuille j'ai une zone de liste modifiable (Code_Commerciaux) et 2 TextBox (Nom_Commerciaux, Prenom_Commerciaux) dans cette feuille j'ai 3 boutons (Nouveau, Modifier, Supprimer qui marche impect).

    Dans la 2ème feuille, j'ai 7 TextBox (Code_Client, Nom_Client, Adr_Rue_Client,...). J'ai 3 bouton de commande (Nouveau, Modifier etSupprimer). Et 4 boutons de déplacement (Premier, Précédent, Suivant et Dernier). En fait j'aimerais que pour chaque Commerciaux il m'indique les clients en me déplacant sur les boutons.

    Dans la 3ème feuille, j'ai 6 TextBox (Code_Projet, LibelléProjet, ...) et 1 chekBox (Projet_Clôturer (O/N)). Il y aussi les même bouton de commande et les mêmes boutons de déplacement. Ici on peut voir quels sont les projets que demande un client à un commerciaux.

    Dans la 4ème feuille, 6 TextBox (Code_Action, Libellé_Action, ....) et 1 CheKBox (Action_Terminer(O/N)). Il y ausii les mêmes boutons de commandes et les mêmes boutons de déplacement. En fait j'aimerais que pour un Projet il m'indique les actions à faire grâce au bouton de déplacement.

    En fait les boutons de déplacement ne marche pas.
    Pouvez-vous m'aider s'il vous plait ou me donnez une autre façon de faire.

    Voilà, j'espere avoir été très claire. Si jamais ce n'est pas le cas. Dis le moi.

    Merci d'avance.

  20. #20
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Y-a-t-il Quelqu'un qui peut m'aider.

    S'il vous plaît Merci d'avance.

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

Discussions similaires

  1. Problème avec bouton annuler d'impression
    Par zanoubya dans le forum Débuter
    Réponses: 10
    Dernier message: 16/12/2008, 18h19
  2. Problème avec boutons dans une boucle
    Par CHAP26 dans le forum Flash
    Réponses: 2
    Dernier message: 03/06/2008, 14h28
  3. problème avec bouton reset
    Par corentin59 dans le forum Langage
    Réponses: 2
    Dernier message: 23/01/2008, 11h06
  4. [CGI] problème avec bouton parcourir
    Par Leishmaniose dans le forum Web
    Réponses: 12
    Dernier message: 10/04/2007, 17h07
  5. Problème avec bouton radio sous IE.
    Par waldo2188 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/06/2006, 12h11

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