OVH Cloud OVH Cloud

Données sources selon variable

5 réponses
Avatar
BV
Bonjour à tous

J'ai un form qui est basé sur une requete R1
je souhaiterai à l'ouverture du form qu'access analyse un champ [nom] ds le
formulaire
et qu'en fonction de sa valeur qu'il me mette ds les données sources de mon
formulaire soit
ma requete R1 soit une autre requete R2

pour info je ne peux pas le faire directement ds la requete R1 (probleme de
regroupemetn et d'agrégat)

je pensais faire :

sub ....
if me.[nom].value="FOOT" then
ouvre requete 1 (c.a.d. la source de données du formulaire prend ses données
ds la requete 1)
else
ouvre requete 2 (c.a.d. la source de données du formulaire prend ses données
ds la requete 2)
end if
end sub

probleme je ne sais pas comment lui dire d'ouvrir la requete et de chanegr
la donnée source

pourrriez vous me conseiller SVP

merci d'avance

BV

5 réponses

Avatar
Pierre CFI [mvp]
bonjour
oui dans l'évement load du form

pour changer la source
Me.Recordsource = "r2"

Mais pourquoi pas un dlookup("nom","r1") qui teste puis recordsource r1 ou r2, çà dans load du form

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"BV" a écrit dans le message de news: 42a01a24$0$874$
Bonjour à tous

J'ai un form qui est basé sur une requete R1
je souhaiterai à l'ouverture du form qu'access analyse un champ [nom] ds le
formulaire
et qu'en fonction de sa valeur qu'il me mette ds les données sources de mon
formulaire soit
ma requete R1 soit une autre requete R2

pour info je ne peux pas le faire directement ds la requete R1 (probleme de
regroupemetn et d'agrégat)

je pensais faire :

sub ....
if me.[nom].value="FOOT" then
ouvre requete 1 (c.a.d. la source de données du formulaire prend ses données
ds la requete 1)
else
ouvre requete 2 (c.a.d. la source de données du formulaire prend ses données
ds la requete 2)
end if
end sub

probleme je ne sais pas comment lui dire d'ouvrir la requete et de chanegr
la donnée source

pourrriez vous me conseiller SVP

merci d'avance

BV




Avatar
BV
Bonjour je ne parviens pas à le faire
pourriez vous m'aider avec dlookup svp

je dois mettre ?

var toto as variant
=dlookup(forms![F1]![Nom]="ce que je recherche", "ma requete"]

mais où est ce que je mets l'inbstruction recordsource ???


Merci d'avance

BV
Avatar
Eric
Bonjour BV,

Sur l'évènement Ouverture ou Chargement de ton formulaire, tu teste si
le nom Foot existe dans la requête R1 avec un DLookup() et suivant le
cas tu affectes R1 ou R2 en source du formulaire.

Exemple:

Private Sub Form_Open(Cancel As Integer)
' ou Private Sub Form_Load()
If IsNull(DLookup("Nom", "R1", "Nom=FOOT")) Then
Me.RecordSource = "R2"
End If
End Sub
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour je ne parviens pas à le faire
pourriez vous m'aider avec dlookup svp

je dois mettre ?

var toto as variant
=dlookup(forms![F1]![Nom]="ce que je recherche", "ma requete"]

mais où est ce que je mets l'inbstruction recordsource ???


Merci d'avance

BV




Avatar
Eric
Ooops!!!, j'ai oublié les ' autour de FOOT

donc lire :

IsNull(DLookup("Nom", "R1", "Nom='FOOT'"))
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour BV,

Sur l'évènement Ouverture ou Chargement de ton formulaire, tu teste si
le nom Foot existe dans la requête R1 avec un DLookup() et suivant le
cas tu affectes R1 ou R2 en source du formulaire.

Exemple:

Private Sub Form_Open(Cancel As Integer)
' ou Private Sub Form_Load()
If IsNull(DLookup("Nom", "R1", "Nom=FOOT")) Then
Me.RecordSource = "R2"
End If
End Sub
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Bonjour je ne parviens pas à le faire
pourriez vous m'aider avec dlookup svp

je dois mettre ?

var toto as variant
=dlookup(forms![F1]![Nom]="ce que je recherche", "ma requete"]

mais où est ce que je mets l'inbstruction recordsource ???


Merci d'avance

BV






Avatar
BV
merci cela fonctionne parfaitement
BV


"Eric" a écrit dans le message news:
#
Ooops!!!, j'ai oublié les ' autour de FOOT

donc lire :

IsNull(DLookup("Nom", "R1", "Nom='FOOT'"))
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour BV,

Sur l'évènement Ouverture ou Chargement de ton formulaire, tu teste si
le nom Foot existe dans la requête R1 avec un DLookup() et suivant le
cas tu affectes R1 ou R2 en source du formulaire.

Exemple:

Private Sub Form_Open(Cancel As Integer)
' ou Private Sub Form_Load()
If IsNull(DLookup("Nom", "R1", "Nom=FOOT")) Then
Me.RecordSource = "R2"
End If
End Sub
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Bonjour je ne parviens pas à le faire
pourriez vous m'aider avec dlookup svp

je dois mettre ?

var toto as variant
=dlookup(forms![F1]![Nom]="ce que je recherche", "ma requete"]

mais où est ce que je mets l'inbstruction recordsource ???


Merci d'avance

BV