Pb refresh avec un sous formulaire sous access (VB6) - VB/VBA/VBS - Programmation
Marsh Posté le 27-07-2006 à 20:34:29
Bonsoir,
as-tu pensé à utiliser un autre contrôle qu'un textbox? (même si ça parait étrange ^^)
Marsh Posté le 27-07-2006 à 20:41:22
les gens roots a écrit : Bonsoir, |
J'avais pensé à utiliser un listbox mais de toute facon saisie1 est un contrôle indépendant donc je doute que le problème vienne de là
Le problème doti probablement venir du sous formulaire ou de ses propriétés .... Peut être que j'utilise mal requery ou qu'il existe une autre solution pour rafraichir le sous formulaire.
Marsh Posté le 28-07-2006 à 08:51:25
Tiens je viens de penser à un truc: si tu réinitialisais ta query une fois la requète effectuée, ex:
' CurrentDbQueryDefs("requete1" ).SQL = "Select * from ....where champ1 = " & saisie1.Text & ";"
' CurrentDbQueryDefs = new query
Marsh Posté le 28-07-2006 à 08:52:13
les gens roots a écrit : Tiens je viens de penser à un truc: si tu réinitialisais ta query une fois la requète effectuée, ex: |
Marsh Posté le 29-07-2006 à 09:33:40
je viens de faire quelques tests, en faite lorsqu'on ouvre le formulaire form, la requete1 remplie bien le sous formulaire sousForm mais ensuite rien ne se passe lorsque la méthode requery est executée et ce malgré le fait que requete1 soit bien à jour.
Le plus étrange c'est que si je crée un sous formulaire "externe" (dans onglet -> formulaire) lié à requete1 et que je l'ouvre dans une autre fenetre dès que la valeur de mon champ de saisie change tout s'affiche normalement .
Quelq'un à t-il déjà eu ce problème ? Peut-on inclure une fenetre dans un formulaire ou la placer à un endroit voulu ?
Merci de m'aider au plus vite !
Marsh Posté le 29-07-2006 à 14:22:49
Bonjour,
as-tu regardé les mèthodes Requery et refresh?
cordialement
Marsh Posté le 03-08-2006 à 17:34:44
Salut,
C'est un bug sur les sous formulaire
ton sous formulaire perd le recordsource.
apres ton code et avant le requery essaye me.recordsource=me.recordsource
Cordialement
exemple :
Private sub saisie1_change()
CurrentDbQueryDefs("requete1" ).SQL = "Select * from ...... where champ1 = " & saisie1.Text & ";"
sousform.recordsource=sousform.recordsource
sousForm.requery
end sub
Marsh Posté le 27-07-2006 à 20:00:56
Bonjour à tous,
Je développe actuellement en VB6 un formulaire sous access pour faciliter la gestion d'une base de donnée.
J'ai un problème de "refresh" en fait plus précisemment d'actualisation d'un sous formulaire...
Je m'explique.
Mon formulaire : form contient un sous formulaire : sousForm ainsi qu'une zone de saisie texte : saisie1.
sousForm à pour source une requete : requete1 qui est "en dur" dans la base access (onglet requete -> requete1)
Lorsque je tape dans la zone de saisie du fomulaire form (sub saisie1_change) je modifie le code de requete1 afin de prendre en compte la nouvelle valeur dans la zone de saisie (en gros la requete change dès qu'on fait varier la valeur de saisie) voilà le code :
Lors du premier changement le sous formulaire s'affiche convenablement mais ensuite malgré le changement du code de requete1 (si on execute la requete hors formulaire -> dans l'onglet requete de access le résultat souhaité s'affiche ) l'affichage n'est pas mis à jour comme si la méthode requery ne fonctionnait pas. Le problème ne vient donc pas de requete1 a priori...
Quelq'un à t-il déjà rencontré ce problème ? Faut-il rouvrir et fermer le formulaire ? Merci de m'aider au plus vite n'hésitez pas si je n'ai pas été clair.