Impossible de mettre à jour un sous formulaire

Résolu/Fermé
Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018 - Modifié le 11 oct. 2018 à 16:12
Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018 - 12 oct. 2018 à 15:09
Bonjour à tous,

Je cherche actuellement à mettre à jour un sous formulaire Access grâce à un bouton.
Le sous formulaire en question se base sur une requête select, qui est elle même mise à jour par le formulaire contenant le sous formulaire qui n'arrive pas à être mit à jour.


1- Requête graphique croisée dynamique
2- Sous formulaire de la requête graphique
3- Formulaire parent contenant le sous formulaire

Code VBA
Dim OQry As DAO.QueryDef
.
.
.
OQry.SQL = strRequest
OQry.Close

Form.Requery
Form_fGraphOtdPerDay.rTMPgraphique.Requery


J'ai essayer aussi avec refresh.

Je sais que mon code SQL est correcte, car quand je change la vue du mode création en mode formulaire le sous formulaire est bien mit à jour correctement.
Je soupçonne que le problème viens de la mise a jour de la requête SQL, or il m'est impossible de faire un
OQry.execute
sur une requête de sélection donc je ne sais plus vraiment ou chercher

Merci d'avance !
A voir également:

1 réponse

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
11 oct. 2018 à 21:57
bonjour, je crois deviner que tu as un formulaire, appelons-le F, contenant un sous formulaire, appelons le SF.
tu aurais aussi un bouton, appelons-le B, qui est quelque-part.
et une requête, appelons-la R.
tu nous montres un extrait incomplet d'un code VBA, qui est quelque-part et fais parfois quelque-chose, qui correspond peut-être à ce que tu souhaites qu'il fasse (et que tu nous ne expliques pas), ou pas.
je ne comprends pas l'idée que le formulaire F mette à jour la requête R. quelle technique utilises-tu pour mettre à jour une requête?
peux-tu peut-être recommencer tes explications, en nommant chaque élément et en étant plus précis?
0
Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018 1
Modifié le 12 oct. 2018 à 07:53
Je pensais que c'était clair, mais apparemment pas ^^,

Donc je reprends,

Le formulaire F contient le bouton B ainsi que le sous-formulaire SF, le bouton met à jour la requête R qui sert de base au sous formulaire SF.

Ce que je n'arrive pas à faire est d'actualiser SF quand je clique sur mon bouton B

F -> contient SF et B
SF -> se base sur R
B -> actualise R



Vert -> formulaire F
Bleu -> Bouton de mise à jour
Rouge -> Sous formulaire

Je n'ai pas commenté mon code VBA, parcequ'il me semblait assez simple et que au final il montrait juste comment je tentais de m'y prendre.

Ce code VBA est donc lié au bouton B

//Définition des variables 
Dim OQry As DAO.QueryDef //Objet DAO permettant de modifier une requête access

//Définit une référence à la requête rTMPgraph (celle utilisée par le sous formulaire SF)
Set OQry = CurrentDb.QueryDefs("rTMPgraph")

strRequest = Nouveau code SQL

Applique le code SQL à la requête du sous formulaire
OQry.SQL = strRequest
OQry.Close


Tente de mettre à jour le sous formulaire /!\ Ne fait rien /!\
Form.Requery
Form_fGraphOtdPerDay.rTMPgraphique.Requery



C'est mieux ?
Ça doit être vraiment un truck tout con, mais je n'arrives pas à trouver ce que c'est.


Si ce n'est toujours pas clair redit moi.
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018
12 oct. 2018 à 09:33
je suppose que R est synonyme de rTMPgraph, SF synonyme de Form_fGraphOtdPerDay? c'aurait été plus clair en utilisant les bons noms.
quel est le rôle de rTMPgraphique?
as-tu essayé un requery sur SF?
c'est assez inhabituel de changer ainsi la syntaxe des requêtes pour rafraîchir les formulaires. il est plus habituel de travailler sur les données que sur les syntaxes. est-ce vraiment nécessaire?
0
Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018 1
Modifié le 12 oct. 2018 à 10:09
rTMPgraphique est le sous formulaire permettant de correctement mettre en forme les données de la requete rTMgraph

Et c'est ce que j'ai trouvé de plus simple pour faire une sélection multiple et le placer comme critère dans une requête. Surtout que j'ai opté pour cette option car au début je n'utilisait pas de sous formulaire / GDC pour l'affichage mais juste d'un graphique standard dans le formulaire.

Et faire une requête globale puis appliquer des filtres par dessus serais trop gourmand inutilement car il y a beaucoup de données à traiter.

Voila un aperçus des trois éléments

rTMPgraphique

rTMPgraph

fGraphOtdPerDay


Et oui, dans mon code VBA tu peux voir

Tente de mettre à jour le sous formulaire /!\ Ne fait rien /!\
Form.Requery
Form_fGraphOtdPerDay.rTMPgraphique.Requery
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018
12 oct. 2018 à 13:12
une autre piste serait peut-être de fermer et rouvrir la subform.
0
Mr_Evil_Duck Messages postés 43 Date d'inscription vendredi 5 octobre 2018 Statut Membre Dernière intervention 31 octobre 2018 1
12 oct. 2018 à 13:47
Ça me parait un peu "brutal" x) mais effectivement ça devrai marcher.

Merci
0