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

Access Discussion :

Pb de requery en form continu


Sujet :

Access

  1. #1
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut Pb de requery en form continu
    Bonsoir à tous,

    J'ai un souci avec une mise à jour de liste modifiable en fonction de la valeur d'une autre avec un requery dans un sub-form.
    Cela marche parfaitement bien enregistrement par enregistrement. Mais ce sub-form doit être en continu, voire feuille de données : et là, ça ne marche pas !

    Voilà ce qui se passe dans ce subform...
    Je cherche dans ma combobox1 une valeur et dans la combobox2 propose des valeurs en fonction de celle précédemment choisie.
    Seulement lorsque je passe à l'enregistrement suivant...ça marche toujours mais la valeur de combobox2 choisie à l'enregistrement précédent s'est effacé...enfin pas vraiment effacé mais ne s'affiche pas. Il ne s'affiche que lorsqu'il récupère le focus !

    J'ai mis la propriété "Me.combobox2.requery" à l'évènement "après MàJ" de la combobox2 et sur l'évènement "enregistrement courant" du form.

    Pouvez-vous m'aider s'il vous plaît ?

  2. #2
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Le truc bizarre dans mon histoire c'est que lorsque je regarde dans la table source de mon subform : les infos de mes combobox 1 et 2 sont bien là...mais à l'affichage du subform on ne voit rien...

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Tu es sur que tu as bien mis sur l'evenement current de ton sousform:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Current()
    Me.combobox2.requery
     
    End Sub
    Sinon verifie la requêtes RowSource de ta combobox2.:

    Dont le sql doit-être du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!combobox2.RowSource="Select monchamp2 From matable where monchamp1=" & Chr(34) & Me!combobox1 & Chr(34)
    si monchamp1 est du text.

    @+

  4. #4
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Oui mes propriété sont ok


    Voilà un exemple concret de ce qui se passe.

    http://perso.numericable.fr/regberge/pb_nicburge.ppt

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    en effet vraiment très curieux !

    peux tu faire aussi 1 image de la feuille des propriétés du combobox2 et 1 copier coller du code du module de ton sousform ..

    @+

  6. #6
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Je ne comprend pas le rowsource en SQL que tu proposes...
    Je ne fonctionne pas de la sorte...

    http://perso.numericable.fr/regberge/pb_nicburge2.ppt

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    Oui tu peux faire comme ca pour le RowSource,
    note que pour le critère:

    occupation_id=[Forms]![jobcard]![[fiche2 subform]![pers_form]![occupation]

    je te fais confiance

    donc un form principal jobcard, un sub form [fiche2 subform] et un 3ème form [pers_form]


    De toute façon le requery fonctionne puisque pour une valeur de combobox1 tu as la liste correspondante qui s'affiche dans combobox2 ?

    Ce qui ne va pas c'est que la valeur choisie dans combobox2 s'efface quand tu passe à l'enrg suivant (pourtant elle est bien saisie dans la table) ?

    Vérifie toutes les propriétés de ta combobox2
    la Font ...

    Fais un find combobox2 dans les modules de ta base pour vérifier les opérations effectué sur ta combobox2

    si ton sousform est en mode feuille de données vérifie le menu format..

    Quelle est ta version d'Access ?

  8. #8
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par User
    Oui tu peux faire comme ca pour le RowSource,
    note que pour le critère:

    occupation_id=[Forms]![jobcard]![[fiche2 subform]![pers_form]![occupation]

    je te fais confiance

    donc un form principal jobcard, un sub form [fiche2 subform] et un 3ème form [pers_form]


    De toute façon le requery fonctionne puisque pour une valeur de combobox1 tu as la liste correspondante qui s'affiche dans combobox2 ?

    Ce qui ne va pas c'est que la valeur choisie dans combobox2 s'efface quand tu passe à l'enrg suivant (pourtant elle est bien saisie dans la table) ?

    Vérifie toutes les propriétés de ta combobox2
    la Font ...

    Fais un find combobox2 dans les modules de ta base pour vérifier les opérations effectué sur ta combobox2

    si ton sousform est en mode feuille de données vérifie le menu format..

    Quelle est ta version d'Access ?
    Désolé pour la réponse tardive mais je n'ai pas accès à Developpez.net au boulot

    Le point sur lequel j'ai un doute c'est le "Me.combobox2.requery", c'est que j'affecte cette propriété à l'évènement après MàJ de la combobox1 mais aussi sur "On current" du sub form "pers_form"

    Je ne vois pas de souci de Font ou autre...

    J'ai ACCESS 2002 et la manière dont tu décris les formulaires imriqués est la bonne.

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 342
    Points : 19 581
    Points
    19 581
    Billets dans le blog
    65
    Par défaut
    non a mon avis c'est ok au niveau de ta RowSource de combobox2.

    si il y avait une erreur il te l'indiquerai du genre:

    paramètre [Forms]![jobcard]![[fiche2 subform]![pers_form]![occupation]
    inconnu.

    C'est ok aussi au niveau des requery sur form_current et combobox1_afterUpdate.

    c'est juste une question d'affichage du contenu de ta combobox2 puisque la table source est mis à jour,

    ca doit être une histoire d'affichage,

    si quelqu'un d'autre à une idée sous Access 2002 il est le bien venu !

  10. #10
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Ouais je sèche carrément là !

    Sinon autre truc marrant...lorsque dans ce subform je saisi 2 valeurs de combobox1 identiques comme 2 électriciens par exemple, et bien quant le focus est sur l'enregistrement électricien, les 2 valeurs correspondantes de combobox2 apparaîssent !

    En fait, tout est lié à la valeur de combobox1....

    J'aimerai bien que tout s'affiche mais bon ça marche quand même alors je vais faire avec !

  11. #11
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir,

    Ca a l'air vachement intéressant votre truc.
    J'ai une idée de ce qui se passe. Si!

    Quand tu choisis un métier dans la liste 1, tu imposes à la liste 2 de ne présenter que les noms de ce métier. DOnc sur la première ligne, si tu choisis 'electricien', tu auras dans la liste 2 les noms des électriciens. ET tu en choisis un. et il s'enregistre. Tout ça est normal.

    Puis tu passes à la ligne 2, et tu choisis 'plombier' ce qui limite la liste 2 aux noms des plombiers. Comme tu es en mode continu, la RowSource du premier enregistrement est aussi modifiée. Elle ne contient donc que des plombiers et elle ne peut t'afficher le nom de ton éléctricien.

    Mais si tu reviens sur un enregistrement 'électricien' tous les électriciens apparaissent. Les plombiers, eux bien-sûr sont partis.

    Et voilà. Donc il faut que tu ajoutes un contrôle pour afficher les noms. La liste 2 ne peut te servir que pour les choisir.

    Convaincu?

    Bon courage, et tiens nous au courant.
    pgz

  12. #12
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    J'essaie de ce pas et vous tiens au courant...

  13. #13
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Bon alors ça a l'air de fonctionner génial !!

    Mais je n'arrive pour l'instant qu'à afficher l'ID du nom et pas le nom...

  14. #14
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Il ne faut pas créer un contrôle texte mais une liste sur la table complète et de verrouiller cette liste.

    pgz

  15. #15
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Citation Envoyé par pgz
    Bonjour,

    Il ne faut pas créer un contrôle texte mais une liste sur la table complète et de verrouiller cette liste.

    pgz
    J'ai déjà essayé de mettre une combobox avec pour source la requête me donnant le nom suivant l'ID. Cela ne fontionne pas car n'apparaîsse que les enregistrement de mêem nature !
    COmme pour mon problème initial : c'est-à-dire que lorsque l'enregistrement courant est sur plombier par exemple : alors ne s'affiche dans ma combobox que les noms des plombiers et pas les autres métiers....


    Je ne comprend pas l'histoire du vérouillage de la liste...

    Merci de m'éclairer en tout cas, j'essaie d'appliquer ce que tu me dit

  16. #16
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Comprenons nous bien.
    Tu as une liste 2 qui tepermet de choisir un nom. Tu n'y touches pas. Maintenant tu crées une liste 3 identique sauf que tu ne mets aucun critère : ie tu enlèves le critère que tu utilises pour la liste2.

    Ensuite, et pour ne pas être embêté les proprités de ce contrôle, onglet données : enabled = false; locked = true .

    C'est plus clair?

    pgz

  17. #17
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    J'essaie et vous tiens au courant

    Encore merci !

  18. #18
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    Bon alors voilà ce que j'ai fait.

    La combobox1 a pour source un select de 2 tables permettant de sélectionner les noms selon le métier.

    La combobox2 créée est la même que la 1 sauf qu'elle n'as pas de critère
    : j'ai mis locked et disabled.

    Résultat : bah ça marche pas
    Rien ne s'affiche... le champ est vide

  19. #19
    Débutant
    Inscrit en
    Août 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 82
    Points : 61
    Points
    61
    Par défaut
    A y est bon ça marche....

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 110
    Points : 107
    Points
    107
    Par défaut
    Salut,
    Je ne veux pas jouer les pessimistes mais en fait ce que tu veux faire n'est pas possible sous ACCESS avec des frm continu ou feuille de donnés (d'ailleurs si tu trouves une solution je suis preneur car j'ai buté longtemps sur ce problème avant que l'on me dise qu'il n'y a pas de solution).
    En fait c'est l'inconvénient des frm en mode continu qui ne font pas les requêtes sur l'enreg en cours mais sur tous les enregs du frm; d'où l'effacement des données sur les choix précédents;
    La seule solution que j'ai trouvée (non propre que je n'utilise pas ) c'est de créer un champs texte que l'on superpose sur le contrôle liste et lorsque tu sélectionnes une valeur dans la liste, tu la copies dans ce champs txt; de sorte qu'elle soit stockée et toujours visible.

    Voilà, bon courage

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

Discussions similaires

  1. image dans un form continu
    Par nowick dans le forum IHM
    Réponses: 8
    Dernier message: 08/06/2006, 17h12
  2. [Image] Algorithme pour déterminer une forme continue
    Par wizzmasta dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 25/04/2006, 15h56
  3. Libérer recordset avant Requery du form ?
    Par _developpeur_ dans le forum Access
    Réponses: 10
    Dernier message: 02/11/2005, 11h22
  4. Réponses: 3
    Dernier message: 26/10/2005, 09h07
  5. Som dans form continu en fonction date selectionée dans form
    Par samlepiratepaddy dans le forum Access
    Réponses: 3
    Dernier message: 26/09/2005, 13h05

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