Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passer une variable pour filtrer sous formulaire

7 réponses
Avatar
BV
Bonjour =E0 tous

J'ai un formulaire avec un sous-formulaire
Sur action, j'ouvre deux petits formulaires ind=E9pendants (modaux)
Sur le dernier modal, je r=E9cup=E8re sur action double clic une variable,
et je voudrai que cette
variable (ID_MF) serve de filtre pour le formulaire et sous-formulaire
rest=E9s en attente.
A savoir ID_MF =3D cl=E9 primaire du sous-formulaire

J'ai essay=E9 ceci :

Private Sub Commande30_Click()
Dim i As String
i =3D Me.ID_mf
'fermeture du dernier formulaire modal
DoCmd.Close
'fermeture du premier formulaire modal
DoCmd.Close acForm, "SF_RECHERCHEFORM"
'test r=E9cup=E9ration variable
MsgBox (i)
'filtrer le sous-formulaire avec r=E9cup=E9ration et utilisation de la
variable (c'est l=E0 que cela plante)
Forms!F_Structure!SF_Structure(Formation).Filter =3D "[ID_MF] like *" &
i & "*"
Forms!F_Structure!SF_Structure(Formation).FilterOn =3D True
End Sub

merci d'avance pour votre aide
BV

7 réponses

Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Et quel est le message d'erreur ?

Cdt, Blaise
---- ---- ----


"BV" a écrit dans le message de news:

Bonjour à tous

J'ai un formulaire avec un sous-formulaire
Sur action, j'ouvre deux petits formulaires indépendants (modaux)
Sur le dernier modal, je récupère sur action double clic une variable,
et je voudrai que cette
variable (ID_MF) serve de filtre pour le formulaire et sous-formulaire
restés en attente.
A savoir ID_MF = clé primaire du sous-formulaire

J'ai essayé ceci :

Private Sub Commande30_Click()
Dim i As String
i = Me.ID_mf
'fermeture du dernier formulaire modal
DoCmd.Close
'fermeture du premier formulaire modal
DoCmd.Close acForm, "SF_RECHERCHEFORM"
'test récupération variable
MsgBox (i)
'filtrer le sous-formulaire avec récupération et utilisation de la
variable (c'est là que cela plante)
Forms!F_Structure!SF_Structure(Formation).Filter = "[ID_MF] like *" &
i & "*"
Forms!F_Structure!SF_Structure(Formation).FilterOn = True
End Sub

merci d'avance pour votre aide
BV
Avatar
BV
On 8 juil, 19:56, "Blaise Cacramp" wrote:
Selon : Bonjour ou bonsoir

Et quel est le message d'erreur ?

Cdt, Blaise
----   ----   ----

"BV" a écrit dans le message de news:

Bonjour à tous

J'ai un formulaire avec un sous-formulaire
Sur action, j'ouvre deux petits formulaires indépendants (modaux)
Sur le dernier modal, je récupère sur action double clic une variable ,
et je voudrai que cette
variable (ID_MF) serve de filtre pour le formulaire et sous-formulaire
restés en attente.
A savoir ID_MF = clé primaire du sous-formulaire

J'ai essayé ceci :

Private Sub Commande30_Click()
Dim i As String
i = Me.ID_mf
'fermeture du dernier formulaire modal
    DoCmd.Close
'fermeture du premier formulaire modal
    DoCmd.Close acForm, "SF_RECHERCHEFORM"
'test récupération variable
MsgBox (i)
'filtrer le sous-formulaire avec récupération et utilisation de la
variable (c'est là que cela plante)
Forms!F_Structure!SF_Structure(Formation).Filter = "[ID_MF] like *" &
i & "*"
Forms!F_Structure!SF_Structure(Formation).FilterOn = True
End Sub

merci d'avance pour votre aide
BV



bonjour
voici l'erreur : 2465
impossible de trouver le champ SF_Structure auquel il fait référence
dans voter expression
Avatar
Thierry
Bonjour,
Essayez la syntaxe suivante :

Forms!F_Structure!SF_Structure.Form![Formation].Filter = "[ID_MF] like *" &
i & "*"

Pas garanti...

Bonne journée.


"BV" a écrit :

On 8 juil, 19:56, "Blaise Cacramp" wrote:
> Selon : Bonjour ou bonsoir
>
> Et quel est le message d'erreur ?
>
> Cdt, Blaise
> ---- ---- ----
>
> "BV" a écrit dans le message de news:
>
> Bonjour à tous
>
> J'ai un formulaire avec un sous-formulaire
> Sur action, j'ouvre deux petits formulaires indépendants (modaux)
> Sur le dernier modal, je récupère sur action double clic une variable,
> et je voudrai que cette
> variable (ID_MF) serve de filtre pour le formulaire et sous-formulaire
> restés en attente.
> A savoir ID_MF = clé primaire du sous-formulaire
>
> J'ai essayé ceci :
>
> Private Sub Commande30_Click()
> Dim i As String
> i = Me.ID_mf
> 'fermeture du dernier formulaire modal
> DoCmd.Close
> 'fermeture du premier formulaire modal
> DoCmd.Close acForm, "SF_RECHERCHEFORM"
> 'test récupération variable
> MsgBox (i)
> 'filtrer le sous-formulaire avec récupération et utilisation de la
> variable (c'est là que cela plante)
> Forms!F_Structure!SF_Structure(Formation).Filter = "[ID_MF] like *" &
> i & "*"
> Forms!F_Structure!SF_Structure(Formation).FilterOn = True
> End Sub
>
> merci d'avance pour votre aide
> BV

bonjour
voici l'erreur : 2465
impossible de trouver le champ SF_Structure auquel il fait référence
dans voter expression



Avatar
BV
On 9 juil, 10:48, Thierry wrote:
Bonjour,
Essayez la syntaxe suivante :

Forms!F_Structure!SF_Structure.Form![Formation].Filter = "[ID_MF] like *" &
i & "*"

Pas garanti...

Bonne journée.

"BV" a écrit :

> On 8 juil, 19:56, "Blaise Cacramp" wrote:
> > Selon : Bonjour ou bonsoir

> > Et quel est le message d'erreur ?

> > Cdt, Blaise
> > ----   ----   ----

> > "BV" a écrit dans le message de news:
> >
> > Bonjour à tous

> > J'ai un formulaire avec un sous-formulaire
> > Sur action, j'ouvre deux petits formulaires indépendants (modaux)
> > Sur le dernier modal, je récupère sur action double clic une vari able,
> > et je voudrai que cette
> > variable (ID_MF) serve de filtre pour le formulaire et sous-formulair e
> > restés en attente.
> > A savoir ID_MF = clé primaire du sous-formulaire

> > J'ai essayé ceci :

> > Private Sub Commande30_Click()
> > Dim i As String
> > i = Me.ID_mf
> > 'fermeture du dernier formulaire modal
> >     DoCmd.Close
> > 'fermeture du premier formulaire modal
> >     DoCmd.Close acForm, "SF_RECHERCHEFORM"
> > 'test récupération variable
> > MsgBox (i)
> > 'filtrer le sous-formulaire avec récupération et utilisation de l a
> > variable (c'est là que cela plante)
> > Forms!F_Structure!SF_Structure(Formation).Filter = "[ID_MF] like *" &
> > i & "*"
> > Forms!F_Structure!SF_Structure(Formation).FilterOn = True
> > End Sub

> > merci d'avance pour votre aide
> > BV

> bonjour
> voici l'erreur : 2465
> impossible de trouver le champ SF_Structure auquel il fait référenc e
> dans voter expression



Bonjour merci de votre réponse
J'ai réessayé : erreur 438
propriété ou méthode non gérée par cet objet
Avatar
3stone
Salut,

BV wrote:
Bonjour à tous

J'ai un formulaire avec un sous-formulaire
Sur action, j'ouvre deux petits formulaires indépendants (modaux)
Sur le dernier modal, je récupère sur action double clic une variable,
et je voudrai que cette
variable (ID_MF) serve de filtre pour le formulaire et sous-formulaire
restés en attente.
A savoir ID_MF = clé primaire du sous-formulaire

J'ai essayé ceci :

Private Sub Commande30_Click()
Dim i As String
i = Me.ID_mf
'fermeture du dernier formulaire modal
DoCmd.Close
'fermeture du premier formulaire modal
DoCmd.Close acForm, "SF_RECHERCHEFORM"
'test récupération variable
MsgBox (i)
'filtrer le sous-formulaire avec récupération et utilisation de la
variable (c'est là que cela plante)
Forms!F_Structure!SF_Structure(Formation).Filter = "[ID_MF] like *" &
i & "*"
Forms!F_Structure!SF_Structure(Formation).FilterOn = True
End Sub




Tu semble vouloir déclarer "i" dans un formulaire et récupérer
sa valeur dans un autre formulaire, non ?

Si oui, cela ne fonctionne pas, il te faudras déclarer la variable
comme variable globale dans un module général.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
BV
On 9 juil, 15:21, "3stone" wrote:
Salut,



BV wrote:
> Bonjour à tous

> J'ai un formulaire avec un sous-formulaire
> Sur action, j'ouvre deux petits formulaires indépendants (modaux)
> Sur le dernier modal, je récupère sur action double clic une variab le,
> et je voudrai que cette
> variable (ID_MF) serve de filtre pour le formulaire et sous-formulaire
> restés en attente.
> A savoir ID_MF = clé primaire du sous-formulaire

> J'ai essayé ceci :

> Private Sub Commande30_Click()
> Dim i As String
> i = Me.ID_mf
> 'fermeture du dernier formulaire modal
>     DoCmd.Close
> 'fermeture du premier formulaire modal
>     DoCmd.Close acForm, "SF_RECHERCHEFORM"
> 'test récupération variable
> MsgBox (i)
> 'filtrer le sous-formulaire avec récupération et utilisation de la
> variable (c'est là que cela plante)
> Forms!F_Structure!SF_Structure(Formation).Filter = "[ID_MF] like *" &
> i & "*"
> Forms!F_Structure!SF_Structure(Formation).FilterOn = True
> End Sub

Tu semble vouloir déclarer "i" dans un formulaire et récupérer
sa valeur dans un autre formulaire, non ?

Si oui, cela ne fonctionne pas, il te faudras déclarer la variable
comme variable globale dans un module général.

--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)



oui c'est exactement ça !
mais par contre un module général :(
je ne me sens pas trop capable
Avatar
3stone
Salut,

BV wrote:
[...]
oui c'est exactement ça !
mais par contre un module général :(
je ne me sens pas trop capable



Eh bien, les "modules" sont l'endroit ou l'on se crée les fonctions et code VBA.

Tu as le module associé au formulaire, c'est là que tu as écris
ton code... et le module général.

Donc, tu crées un simple module que tu peux nommé "mod_déclaration"
et tu y déclares ta variable, ce qui donnera :


Option Compare Database
Option Explicit

Dim i As String

ensuite, tu sauves ce module sous le nom convenu.
Dès ce moment, tu pourras utiliser la variable "i" dans tout tes
formulaire et autre code VBA.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)