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 :

Problème avec requery [AC-2019]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut Problème avec requery
    Bonjour à tous
    J'ai un souci qui m'énerve j'ai un formulaire avec plusieurs sous formulaires.
    Lorsque je fais un requery sur un contrôle ou un formulaire, il me bloque toutes les procédures.
    J'attends par procédure les évènements.
    Exemple, je met un requery dans un BeforeUpdate et il me bloque mais valeurs que j'ai "requery" dans le AfterUpdate, le Exit et le LostFocus.
    Jusque là j'ai réussi a m'en sortir avec des bricolages mais je ne comprends pas, et ne c'est plus comment faire.
    Moi je veux pouvoir actualiser mes différents formulaires au changement de valeur.
    Je vais essayer de faire gotorecord suivant et précedant mais c'est encore du bricolage.
    Si quelqu'un à une solution je veux bien tester. Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    Le bricolage de passer au suivant et revenir ne marche que dans le AfterUpdate par contre le focus reste sur le contrôle où il était. Obligé de cliqué une deuxième fois dans un autre contrôle...Bricolage

  3. #3
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 959
    Par défaut
    bonjour,
    on utilise l'évènement Avant mise à jour BeforeUpdate uniquement pour contrôler la validité des données et surtout pas pour mettre à jour un jeu de données (Recordset) ... que ce soit dans le formulaire actuel ou les autres, comme sont nom l'indique, à ce stade la mise à jour du contrôle n'est pas effective.
    Sur clic (Click) ou Après mise à jour (AfterUpdate) est plus approprié, mais sans connaitre le contexte exact de ton besoin (quel est le type de contrôle ... quelle mise à jour est effectuée) on ne peut que répondre par des généralités.

  4. #4
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    Oui je sais bien pour le BeforeUpdate mais c'était pour me rendre compte de la hiérarchie des évènements. mais de toutes façon je les ai tous essayé et tous bloquent toutes les procédure jusqu'au Exit
    Alors dans ce cas, je rentre une valeur dans une textbox sur le formulaire principal. Ensuite je souhaite mettre à jour les sous formulaires et le formulaire principal

  5. #5
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 959
    Par défaut
    Alors dans ce cas, je rentre une valeur dans une textbox sur le formulaire principal. Ensuite je souhaite mettre à jour les sous formulaires et le formulaire principal
    c'est risqué de mettre à jour un formulaire après saisie d'une textbox sauf si celle-ci est un contrôle indépendant dans le formulaire, il faut préférer Me.Recalc
    pour les sous-formulaires pas de problème, il faut redéfinir le Recordsource de chacun, par exemple comme ceci (et si Texbox est du texte, sinon il faut enlever les "" ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SousForm1.Form.RecordSource = "SELECT * FROM Matable where champ1=""" & Me.LaTextBox & """;"
    ou appliquer un filtre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Me.SousForm1.Form.Filter = "champ1=""" & Me.LaTextBox & """"
        Me.SousForm1.Form.FilterOn = True
    Peut-on avoir une copie d'écran du formulaire et le code VBA de l'évènement ?

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 130
    Par défaut
    Pour la hiérarchie il y a un tuto sur ma page, avec un outil de démo.
    Et le before c'est pas pour faire ce genre de chose, comme l'a justement dit Maître Tee.

    Attention ! à trop mal bricoler avec les évènements, des fois le fichier part en sucette.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 959
    Par défaut
    comme l'a justement dit Maître Tee
    c'est gentil de m'honorer, surtout quand ça vient d'un MVP (très furtivement ...)

  8. #8
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    Citation Envoyé par loufab Voir le message
    Pour la hiérarchie il y a un tuto sur ma page, avec un outil de démo.
    Je l'ai vu et bravo et merci, mais la je regarder vite fais avec de msgbox lequel pouver être le plus approprié

    Citation Envoyé par loufab Voir le message
    Et le before c'est pas pour faire ce genre de chose, comme l'a justement dit Maître Tee.
    je sais je l'ai mis dans le AfterUpdate, car dans le before il n'y a pas de raison d'actualiser quoique ce soit... Dans le before c'était juste pour voir à quel point ça bloqué tout

    Citation Envoyé par loufab Voir le message
    Attention ! à trop mal bricoler avec les évènements, des fois le fichier part en sucette.
    oui, c'est la misère car beaucoup de "tutos" montre des chose qui ne marche que sous certaine condition, du style j'ai arrêté les macro mixé au vba car c'était la mémerde à force et ne savait plus d'où venait les bugs.

    Citation Envoyé par tee_grandbois Voir le message
    c'est risqué de mettre à jour un formulaire après saisie d'une textbox sauf si celle-ci est un contrôle indépendant dans le formulaire, il faut préférer Me.Recalc
    Super merci, j'avais oublié cette fonction qui marche à merveille

    Pour le recordsource je ne veux pas trop y toucher car c'est lié aux tables ou aux champ

  9. #9
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    Avec les champs calculés c'était la galère, je créer des sous formulaire à base de requète pour actualiser tout, mais toujours bloqué au moindre ajout de code ou changement de valeur, merci tee_grandbois
    pour le recalc

  10. #10
    Membre averti
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    Là je regalère avec actualisation
    j'ai une textbox relié à un champ de table donc je ne peux pas changer la source. Mais comment mettre à jour cette valeur.
    Exemple :
    Une textbox appelé TA où je change la valeur.
    une textbox appelé TB qui est relié à un champ d'une table mais qui doit être recalculé après la mise à jour de TA

    avec requery ou recalc toutes les valeurs du formulaire s'effacent pendant toute les procédures. Il m'est impossible de faire un recalc dans AfterUpdate et le calcul pour mettre à jour TB dans LostFocus par exemple

  11. #11
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 959
    Par défaut
    Pour le recordsource je ne veux pas trop y toucher car c'est lié aux tables ou aux champ
    alors, explique moi comment tu veux changer la vue sur les données sans recharger la source après une sélection ou un filtre ...
    ... et toujours pas de code ni de copie d'écran à nous proposer pour qu'on y voit plus clair ?

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

Discussions similaires

  1. [AC-2000] Requête avec Requery
    Par Gwendo69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/07/2009, 14h29
  2. opération avec requery
    Par Mario Rousson dans le forum VBA Access
    Réponses: 0
    Dernier message: 05/03/2008, 14h28
  3. Problème avec Requery
    Par jaafar82 dans le forum VBA Access
    Réponses: 5
    Dernier message: 21/02/2008, 15h24
  4. [DAO] problème avec Requery sur mon recordset
    Par vcattin dans le forum VBA Access
    Réponses: 8
    Dernier message: 03/04/2007, 23h08
  5. Problème avec Requery
    Par Gali dans le forum Access
    Réponses: 3
    Dernier message: 25/04/2006, 16h42

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