question un peu compliquée

Le
eric.zzzz
Bonjour,
Un clic sur le bouton1 de mon menu principal m'ouvre un formulaire F1.
Ce formulaire F1 est composé de 2 sous-formulaire : un SF1 basé sur
une requete1 et un SF2 basé sur une requete2.
Ces 2 requetes ont un champ1 en commun (c'est pas une clé primaire,
d'où impossibilité de réunir les 2 requetes).
La requete1 m'affiche des données chiffrées et la requete2 des
données texte.
Les 2 requetes sont du type : WHERE requete1.champ1 =[tapez un code]
et requete2.champ1 =[tapez un code]
Mon problème : Quand je clique sur le bouton1, le message "tapez un
code" s'affiche 2 fois (c'est logique)
Ma demande : comment faire pour n'avoir à taper qu'une seule fois le
code et éviter d'avoir à le taper 2 fois ?
J'ai pensé à créer une zone de liste déroulante pour choisir le code=

(et supprimer dans les requetes : WHERE requete1=[tapez un code]),
mais ça, je ne sais le faire que si je n'ai qu'un seul sous-formulaire
basée sur une seule requete, or, dans mon cas, je dois afficher 2
types de données (chiffres et textes) basés sur 2 requetes qui ont un
champ en commun
Merci d'avance
Eric
NB : j'ai essayé d'être le plus clair possible
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jac
Le #6431811
Bonjour Eric,

il suffirait que tes sous-requêtes regardent la valeur choisie dans un
déroulant du formulaire principal. Quand la valeur du déroulant change,
les deux sous formulaires se mettent à jour.

On en reparle quand tu veux.

Jac

Bonjour,
Un clic sur le bouton1 de mon menu principal m'ouvre un formulaire F1.
Ce formulaire F1 est composé de 2 sous-formulaire : un SF1 basé sur
une requete1 et un SF2 basé sur une requete2.
Ces 2 requetes ont un champ1 en commun (c'est pas une clé primaire,
d'où impossibilité de réunir les 2 requetes).
La requete1 m'affiche des données chiffrées et la requete2 des
données texte.
Les 2 requetes sont du type : WHERE requete1.champ1 =[tapez un code]
et requete2.champ1 =[tapez un code]
Mon problème : Quand je clique sur le bouton1, le message "tapez un
code" s'affiche 2 fois (c'est logique)
Ma demande : comment faire pour n'avoir à taper qu'une seule fois le
code et éviter d'avoir à le taper 2 fois ?
J'ai pensé à créer une zone de liste déroulante pour choisir le code
(et supprimer dans les requetes : WHERE requete1=[tapez un code]),
mais ça, je ne sais le faire que si je n'ai qu'un seul sous-formulaire
basée sur une seule requete, or, dans mon cas, je dois afficher 2
types de données (chiffres et textes) basés sur 2 requetes qui ont un
champ en commun...
Merci d'avance
Eric
NB : j'ai essayé d'être le plus clair possible...


eric.zzzz
Le #6432271
il suffirait que tes sous-requêtes regardent la valeur choisie dans un
déroulant du formulaire principal. Quand la valeur du déroulant change ,
les deux sous formulaires se mettent à jour.

On en reparle quand tu veux.
Oui, je veux bien. J'ai bien compris le principe, mais je ne vois pas

comment faire ...

Jac
Le #6432251
Bon : le déroulant s'appelle LaCible.

Le critère dans les requêtes des deux sous-formulaires
[Formulaires]![F1]![LaCible]

LaCible => Propriétés / évènement / Procédure évènementielle

Private Sub LaCible_Change()
SF1.refresh
SF2.refresh
End Sub

Ça devrait marcher !


Oui, je veux bien. J'ai bien compris le principe, mais je ne vois pas
comment faire ...

il suffirait que tes sous-requêtes regardent la valeur choisie dans un
déroulant du formulaire principal. Quand la valeur du déroulant change,
les deux sous formulaires se mettent à jour.

On en reparle quand tu veux.




eric.zzzz
Le #6432241
On 29 avr, 18:11, Jac
Bon : le déroulant s'appelle LaCible.

Le critère dans les requêtes des deux sous-formulaires =

[Formulaires]![F1]![LaCible]

LaCible => Propriétés / évènement / Procédure évènementiel le

Private Sub LaCible_Change()
    SF1.refresh
    SF2.refresh
End Sub

Ça devrait marcher !
Merci, j'essayerais tout ça demain...(fin de la journée)


eric.zzzz
Le #6436181
Private Sub LaCible_Change()
    SF1.refresh
    SF2.refresh
End Sub


Bonjour,
quand je tape SF1. il y a une liste qui s'affiche mais il n'y a pas
refresh dans cette liste. Je tape refresh avec r minuscule et après le
R se met en majuscule. Quand j'exécute, le mot Refresh est encadré en
bleu et j'ai un msgbox "membre de méthode ou de données introuvable".
J'ai essayé : SF1.Form.Refresh, j'ai pas de message d'erreur, mais
quand je choisis un code dans ma liste déroulante, il ne se passe
rien...

eric.zzzz
Le #6436161
LaCible => Propriétés / évènement / Procédure évènementiel le


il n'y a pas de Propriétés / évènement / Procédure évènementie lle
(dans la liste déroulante), j'ai trouvé
Propriétés / évènement / sur changement; mais ça correspond bien à
Private Sub LaCible_Change()

Eric
Le #6436811
Bonjour,

Remplace ton Refresh par Requery
Me.SF1.Requery
Me.SF2.Requery
et je mettrai ça sur l'évènement Après Mise à jour

LaCible => Propriétés / évènement / Procédure évènementielle


il n'y a pas de Propriétés / évènement / Procédure évènementielle
(dans la liste déroulante), j'ai trouvé
Propriétés / évènement / sur changement; mais ça correspond bien à
Private Sub LaCible_Change()



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


eric.zzzz
Le #6437151
On 30 avr, 11:50, Eric
Bonjour,

Remplace ton Refresh par Requery
      Me.SF1.Requery
      Me.SF2.Requery
et je mettrai ça sur l'évènement Après Mise à jour


Merci, ça marche...

Publicité
Poster une réponse
Anonyme