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

Evènement Dbl_Click() sur controle d'un sous-formulaire

3 réponses
Avatar
access13090
Bonsoir à toute la communautée,

Je viens vers vous pour me venir en aide sur un problème concernant
l'évènement Dbl_Click() d'un contrôle d'un sous-formulaire qui aura
pour fonction d'ouvrir un autre formulaire.

Voici la syntaxe que j'ai donc appliqué sur le controle de mon
sous-formulaire :

Private Sub PLAN_ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "F_PLAN", , ,
"[PLAN_ID]=[Formulaires]![F_ELEVE]![F_PLANDET].Form.[PLAN_ID]"
End Sub

Quand je double clic sur le contrôle, j'ai la boîte de dialogue "Entrez
un paramètre" qui s'affiche. En vba "Erreur 2501".

J'ai effectué une recherche, mais rien n'y fait. J'ai ôté les crochets,
remplacé Formulaires par Forms, etc . Rien de rien.

Auriez-vous une idée ?
Merci d'avance.

Je travaille sous Office 2003 Pro SP2

3 réponses

Avatar
access13090
access13090 a formulé la demande :
Private Sub PLAN_ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "F_PLAN", , ,
"[PLAN_ID]=[Formulaires]![F_ELEVE]![F_PLANDET].Form.[PLAN_ID]"
End Sub



Je suis une chèvre ! Pourquoi faire compliquer quand ...

Private Sub PLAN_ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "F_PLAN", , , "[PLAN_ID]=" &[PLAN_ID]
End Sub
Avatar
chpa
Bonsoir,

Pour commencer, placer la donnee a transmettre dans une variable :

Dim stLinkCriteria As String
stLinkCriteria = Me.Plan_Id.Value (a adapter si le champ se trouve dans
un sous-formulaire)

Ensuite, transmettre cette variable au formulaire a ouvrir :

Dim stDocName As String
stDocName = "F_PLAN"
DoCmd.OpenForm stDocName, acNormal, , , , acWindowNormal, stLinkCriteria

Enfin, a l'ouverture du dernier formulaire (F_PLAN), vérifier le parametre
transmis.

Private Sub Form_Open(Cancel As Integer)
Dim strParam As String
strParam = Me.OpenArgs

Si vous devez par exemple alimenter une zone de texte nommée PLAN_ID

me.PLAN_ID.value = strParam

Si vous devez filtrer le formulaire sur un champ nommée PLAN_ID

Me.FilterOn = False
Me.Filter = "[PLAN_ID]='" & strParam & "'"
Me.FilterOn = True

Voilà CQFF, bon courage.

"access13090" a écrit dans le message de
news:
Bonsoir à toute la communautée,

Je viens vers vous pour me venir en aide sur un problème concernant
l'évènement Dbl_Click() d'un contrôle d'un sous-formulaire qui aura pour
fonction d'ouvrir un autre formulaire.

Voici la syntaxe que j'ai donc appliqué sur le controle de mon
sous-formulaire :

Private Sub PLAN_ID_DblClick(Cancel As Integer)
DoCmd.OpenForm "F_PLAN", , ,
"[PLAN_ID]=[Formulaires]![F_ELEVE]![F_PLANDET].Form.[PLAN_ID]"
End Sub

Quand je double clic sur le contrôle, j'ai la boîte de dialogue "Entrez un
paramètre" qui s'affiche. En vba "Erreur 2501".

J'ai effectué une recherche, mais rien n'y fait. J'ai ôté les crochets,
remplacé Formulaires par Forms, etc . Rien de rien.

Auriez-vous une idée ?
Merci d'avance.

Je travaille sous Office 2003 Pro SP2




Avatar
access13090
Bonjour,
Merci pour ces précieux renseignements.
@+
chpa avait prétendu :
Bonsoir,

Pour commencer, placer la donnee a transmettre dans une variable :

Dim stLinkCriteria As String
stLinkCriteria = Me.Plan_Id.Value (a adapter si le champ se trouve dans
un sous-formulaire)

Ensuite, transmettre cette variable au formulaire a ouvrir :

Dim stDocName As String
stDocName = "F_PLAN"
DoCmd.OpenForm stDocName, acNormal, , , , acWindowNormal, stLinkCriteria

Enfin, a l'ouverture du dernier formulaire (F_PLAN), vérifier le parametre
transmis.

Private Sub Form_Open(Cancel As Integer)
Dim strParam As String
strParam = Me.OpenArgs

Si vous devez par exemple alimenter une zone de texte nommée PLAN_ID

me.PLAN_ID.value = strParam

Si vous devez filtrer le formulaire sur un champ nommée PLAN_ID

Me.FilterOn = False
Me.Filter = "[PLAN_ID]='" & strParam & "'"
Me.FilterOn = True

Voilà CQFF, bon courage.