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

Le
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
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
access13090
Le #17810781
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
chpa
Le #17810931
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" 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




access13090
Le #17837371
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.


Publicité
Poster une réponse
Anonyme