Quelle différence un menu contextuel et un bouton sur un formulaire?
4 réponses
Codial
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un
module.
Cette fonction ouvre un form avec un champ pour saisir un numéro de document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code
suivant:
If Estvide(Me.NumDUM) Then
MsgBox "Vous devez saisir le numéro de DUM", vbInformation,
"Information"
Me.NumDUM.SetFocus
Else
'Rechercher le numéro de M6 dans la table DUM
Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'"
If Me.RecordsetClone.NoMatch Then
MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non
trouvé"
Else
Me.Bookmark = Me.RecordsetClone.Bookmark
'Afficher la M6 sur le formulaire M6
'========================
Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6
Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark
'Rechercher le DUM dans le sous-formulaire du form M6
'======================================
Forms!F_M6!sous_FM6.SetFocus
(1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '" &
Me![NumDUM] & "'"
Forms!F_M6!sous_FM6.Form.Bookmark =
Forms!F_M6!sous_FM6.Form.RecordsetClone.Bookmark
DoCmd.Close acForm, "F_Recherche_DUM"
End If
End If
et celà, grace à 3stone fonctionne très bien avec le bouton Recherche du
form..
Je me suis dis je vais remplacer tous mes boutons, dont celui de ma
recherche, par un menu contextuel. Et là surprise en (1) j'ai maintenant le
message d'erreur suivant:
" La référence d'une expression à la propriété Form/Report n'est pas valide"
etc....
Mon bouton de recherche et mon menu contextuel appelant la même fonction je
ne comprends pas!!!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Antoine Labusquière
Je pense que c'est dû aux références Me que tu utilises. Si tu veux utiliser un menu contextuel, il faudrait essayer en indiquant le nom du formulaire.
"Codial" a écrit dans le message de news:%
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un module. Cette fonction ouvre un form avec un champ pour saisir un numéro de document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code suivant:
If Estvide(Me.NumDUM) Then MsgBox "Vous devez saisir le numéro de DUM", vbInformation, "Information" Me.NumDUM.SetFocus Else 'Rechercher le numéro de M6 dans la table DUM Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'" If Me.RecordsetClone.NoMatch Then MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non trouvé" Else Me.Bookmark = Me.RecordsetClone.Bookmark 'Afficher la M6 sur le formulaire M6 '======================= > Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6 Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark 'Rechercher le DUM dans le sous-formulaire du form M6 '===================================== > Forms!F_M6!sous_FM6.SetFocus (1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '" &
et celà, grace à 3stone fonctionne très bien avec le bouton Recherche du form..
Je me suis dis je vais remplacer tous mes boutons, dont celui de ma recherche, par un menu contextuel. Et là surprise en (1) j'ai maintenant le
message d'erreur suivant:
" La référence d'une expression à la propriété Form/Report n'est pas valide"
etc....
Mon bouton de recherche et mon menu contextuel appelant la même fonction je
ne comprends pas!!!!
D'avance merci
Codial
Je pense que c'est dû aux références Me que tu utilises.
Si tu veux utiliser un menu contextuel, il faudrait essayer en indiquant le
nom du formulaire.
"Codial" <aCodial@tiscali.fr> a écrit dans le message de
news:%23LK5IcJ9EHA.2804@TK2MSFTNGP15.phx.gbl...
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un
module.
Cette fonction ouvre un form avec un champ pour saisir un numéro de
document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code
suivant:
If Estvide(Me.NumDUM) Then
MsgBox "Vous devez saisir le numéro de DUM", vbInformation,
"Information"
Me.NumDUM.SetFocus
Else
'Rechercher le numéro de M6 dans la table DUM
Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'"
If Me.RecordsetClone.NoMatch Then
MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non
trouvé"
Else
Me.Bookmark = Me.RecordsetClone.Bookmark
'Afficher la M6 sur le formulaire M6
'======================= > Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6
Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark
'Rechercher le DUM dans le sous-formulaire du form M6
'===================================== > Forms!F_M6!sous_FM6.SetFocus
(1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '"
&
Je pense que c'est dû aux références Me que tu utilises. Si tu veux utiliser un menu contextuel, il faudrait essayer en indiquant le nom du formulaire.
"Codial" a écrit dans le message de news:%
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un module. Cette fonction ouvre un form avec un champ pour saisir un numéro de document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code suivant:
If Estvide(Me.NumDUM) Then MsgBox "Vous devez saisir le numéro de DUM", vbInformation, "Information" Me.NumDUM.SetFocus Else 'Rechercher le numéro de M6 dans la table DUM Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'" If Me.RecordsetClone.NoMatch Then MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non trouvé" Else Me.Bookmark = Me.RecordsetClone.Bookmark 'Afficher la M6 sur le formulaire M6 '======================= > Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6 Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark 'Rechercher le DUM dans le sous-formulaire du form M6 '===================================== > Forms!F_M6!sous_FM6.SetFocus (1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '" &
et celà, grace à 3stone fonctionne très bien avec le bouton Recherche du form..
Je me suis dis je vais remplacer tous mes boutons, dont celui de ma recherche, par un menu contextuel. Et là surprise en (1) j'ai maintenant le
message d'erreur suivant:
" La référence d'une expression à la propriété Form/Report n'est pas valide"
etc....
Mon bouton de recherche et mon menu contextuel appelant la même fonction je
ne comprends pas!!!!
D'avance merci
Codial
Codial
Bonjour,
Le Me fait référence au formulaire de saisie du numéro de document et sur lequel se trouve le bouton Ok de validation.
La fonction appelée est:
Function RechercheDum() On Error GoTo Traitementerr Forms!F_M6.FilterOn = False DoCmd.OpenForm "F_Recherche_DUM", , , , , acDialog Forms!F_M6!sous_FM6.SetFocus (2) Forms!F_M6.Form!sous_FM6![N° DUM].SetFocus End Function ' En fait dans la syntaxe: Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '"& Me![NumDUM] & "'"
c'est la propriété form qui semble ne pas être valide quand j'appelle à partir du menu contextuel car quand je referme mon form j'ai la même erreur sur: (2) Forms!F_M6.Form!sous_FM6![N° DUM].SetFocus
Je ne comprends pas pourquoi!!
Quelqu'un peut m'expliquer ?
Cordialement
Codial
"Antoine Labusquière" a écrit dans le message de news: crlnht$2m1$
Je pense que c'est dû aux références Me que tu utilises. Si tu veux utiliser un menu contextuel, il faudrait essayer en indiquant le nom du formulaire.
"Codial" a écrit dans le message de news:%
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un module. Cette fonction ouvre un form avec un champ pour saisir un numéro de document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code suivant:
If Estvide(Me.NumDUM) Then MsgBox "Vous devez saisir le numéro de DUM", vbInformation, "Information" Me.NumDUM.SetFocus Else 'Rechercher le numéro de M6 dans la table DUM Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'" If Me.RecordsetClone.NoMatch Then MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non trouvé" Else Me.Bookmark = Me.RecordsetClone.Bookmark 'Afficher la M6 sur le formulaire M6 '======================= >> Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6 Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark 'Rechercher le DUM dans le sous-formulaire du form M6 '===================================== >> Forms!F_M6!sous_FM6.SetFocus (1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '" &
et celà, grace à 3stone fonctionne très bien avec le bouton Recherche du form..
Je me suis dis je vais remplacer tous mes boutons, dont celui de ma recherche, par un menu contextuel. Et là surprise en (1) j'ai maintenant le
message d'erreur suivant:
" La référence d'une expression à la propriété Form/Report n'est pas valide"
etc....
Mon bouton de recherche et mon menu contextuel appelant la même fonction je
ne comprends pas!!!!
D'avance merci
Codial
Bonjour,
Le Me fait référence au formulaire de saisie du numéro de document et sur
lequel se trouve le bouton Ok de validation.
La fonction appelée est:
Function RechercheDum()
On Error GoTo Traitementerr
Forms!F_M6.FilterOn = False
DoCmd.OpenForm "F_Recherche_DUM", , , , , acDialog
Forms!F_M6!sous_FM6.SetFocus
(2) Forms!F_M6.Form!sous_FM6![N° DUM].SetFocus
End Function
'
En fait dans la syntaxe:
Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '"&
Me![NumDUM] & "'"
c'est la propriété form qui semble ne pas être valide quand j'appelle à
partir du menu contextuel car quand je referme mon form j'ai la même erreur
sur:
(2) Forms!F_M6.Form!sous_FM6![N° DUM].SetFocus
Je ne comprends pas pourquoi!!
Quelqu'un peut m'expliquer ?
Cordialement
Codial
"Antoine Labusquière" <antoine.labusquiere@nospam-valodia.fr> a écrit dans
le message de news: crlnht$2m1$1@s1.news.oleane.net...
Je pense que c'est dû aux références Me que tu utilises.
Si tu veux utiliser un menu contextuel, il faudrait essayer en indiquant
le
nom du formulaire.
"Codial" <aCodial@tiscali.fr> a écrit dans le message de
news:%23LK5IcJ9EHA.2804@TK2MSFTNGP15.phx.gbl...
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un
module.
Cette fonction ouvre un form avec un champ pour saisir un numéro de
document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code
suivant:
If Estvide(Me.NumDUM) Then
MsgBox "Vous devez saisir le numéro de DUM", vbInformation,
"Information"
Me.NumDUM.SetFocus
Else
'Rechercher le numéro de M6 dans la table DUM
Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'"
If Me.RecordsetClone.NoMatch Then
MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non
trouvé"
Else
Me.Bookmark = Me.RecordsetClone.Bookmark
'Afficher la M6 sur le formulaire M6
'======================= >> Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6
Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark
'Rechercher le DUM dans le sous-formulaire du form M6
'===================================== >> Forms!F_M6!sous_FM6.SetFocus
(1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '"
&
Le Me fait référence au formulaire de saisie du numéro de document et sur lequel se trouve le bouton Ok de validation.
La fonction appelée est:
Function RechercheDum() On Error GoTo Traitementerr Forms!F_M6.FilterOn = False DoCmd.OpenForm "F_Recherche_DUM", , , , , acDialog Forms!F_M6!sous_FM6.SetFocus (2) Forms!F_M6.Form!sous_FM6![N° DUM].SetFocus End Function ' En fait dans la syntaxe: Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '"& Me![NumDUM] & "'"
c'est la propriété form qui semble ne pas être valide quand j'appelle à partir du menu contextuel car quand je referme mon form j'ai la même erreur sur: (2) Forms!F_M6.Form!sous_FM6![N° DUM].SetFocus
Je ne comprends pas pourquoi!!
Quelqu'un peut m'expliquer ?
Cordialement
Codial
"Antoine Labusquière" a écrit dans le message de news: crlnht$2m1$
Je pense que c'est dû aux références Me que tu utilises. Si tu veux utiliser un menu contextuel, il faudrait essayer en indiquant le nom du formulaire.
"Codial" a écrit dans le message de news:%
Bonjour
voilà au départ j'ai un bouton sur un form qui appelle une fonction d'un module. Cette fonction ouvre un form avec un champ pour saisir un numéro de document
à rechercher.
Sur ce form j'ai un bouton (Ok) qui valide la recherche avec le code suivant:
If Estvide(Me.NumDUM) Then MsgBox "Vous devez saisir le numéro de DUM", vbInformation, "Information" Me.NumDUM.SetFocus Else 'Rechercher le numéro de M6 dans la table DUM Me.RecordsetClone.FindFirst "[N°DUM] = '" & Me![NumDUM] & "'" If Me.RecordsetClone.NoMatch Then MsgBox "Ce numéro de DUM est inconnu... ", vbCritical, "Non trouvé" Else Me.Bookmark = Me.RecordsetClone.Bookmark 'Afficher la M6 sur le formulaire M6 '======================= >> Forms!F_M6.RecordsetClone.FindFirst "[N°M6] = " & Me.N°M6 Forms!F_M6.Bookmark = Forms!F_M6.RecordsetClone.Bookmark 'Rechercher le DUM dans le sous-formulaire du form M6 '===================================== >> Forms!F_M6!sous_FM6.SetFocus (1) Forms!F_M6!sous_FM6.Form.RecordsetClone.FindFirst "[N°DUM] = '" &
et celà, grace à 3stone fonctionne très bien avec le bouton Recherche du form..
Je me suis dis je vais remplacer tous mes boutons, dont celui de ma recherche, par un menu contextuel. Et là surprise en (1) j'ai maintenant le
message d'erreur suivant:
" La référence d'une expression à la propriété Form/Report n'est pas valide"
etc....
Mon bouton de recherche et mon menu contextuel appelant la même fonction je
ne comprends pas!!!!
D'avance merci
Codial
3stone
Salut Codial,
"Codial" | | Le Me fait référence au formulaire de saisie du numéro de document et sur | lequel se trouve le bouton Ok de validation.
Je réquépépête depuis le bédut ;-)
Toute utilisation de "Me" (qui fait référence à l'instance du formulaire en cours) *doit* et ne *peux* ce faire que *dans* le formulaire, et non dans une barre de menu (qui ne fait pas partie des objets du formulaire)
Tous les "Me" doivent donc êtrent remplacer par l'expression complète Forms!NomForm..... pour que VBA sache de quel formulaire tu parle.
"Codial"
|
| Le Me fait référence au formulaire de saisie du numéro de document et sur
| lequel se trouve le bouton Ok de validation.
Je réquépépête depuis le bédut ;-)
Toute utilisation de "Me" (qui fait référence à l'instance du formulaire en cours)
*doit* et ne *peux* ce faire que *dans* le formulaire, et non dans une
barre de menu (qui ne fait pas partie des objets du formulaire)
Tous les "Me" doivent donc êtrent remplacer par l'expression complète
Forms!NomForm..... pour que VBA sache de quel formulaire tu parle.
"Codial" | | Le Me fait référence au formulaire de saisie du numéro de document et sur | lequel se trouve le bouton Ok de validation.
Je réquépépête depuis le bédut ;-)
Toute utilisation de "Me" (qui fait référence à l'instance du formulaire en cours) *doit* et ne *peux* ce faire que *dans* le formulaire, et non dans une barre de menu (qui ne fait pas partie des objets du formulaire)
Tous les "Me" doivent donc êtrent remplacer par l'expression complète Forms!NomForm..... pour que VBA sache de quel formulaire tu parle.
mais le Me en question ce fait dans le formulaire en cours puisqu'il s'agit du code du bouton (Ok) qui est sur le form! D'ailleurs par acquis de conscience j'ai remplacé le Me par Forms!NomForm..... etc ...et l'erreur persiste!!!
Je ne comprends pas où est la nuance entre mon bouton du form principal et mon menu contextuel qui appelle la même fonction!
Cordialement
Codial
"3stone" a écrit dans le message de news:
Salut Codial,
"Codial" | | Le Me fait référence au formulaire de saisie du numéro de document et sur | lequel se trouve le bouton Ok de validation.
Je réquépépête depuis le bédut ;-)
Toute utilisation de "Me" (qui fait référence à l'instance du formulaire en cours) *doit* et ne *peux* ce faire que *dans* le formulaire, et non dans une barre de menu (qui ne fait pas partie des objets du formulaire)
Tous les "Me" doivent donc êtrent remplacer par l'expression complète Forms!NomForm..... pour que VBA sache de quel formulaire tu parle.
mais le Me en question ce fait dans le formulaire en cours puisqu'il s'agit
du code du bouton (Ok) qui est sur le form!
D'ailleurs par acquis de conscience j'ai remplacé le Me par
Forms!NomForm..... etc ...et l'erreur persiste!!!
Je ne comprends pas où est la nuance entre mon bouton du form principal et
mon menu contextuel qui appelle la même fonction!
Cordialement
Codial
"3stone" <spam@spam> a écrit dans le message de news:
eHPZgSL9EHA.2552@TK2MSFTNGP09.phx.gbl...
Salut Codial,
"Codial"
|
| Le Me fait référence au formulaire de saisie du numéro de document et
sur
| lequel se trouve le bouton Ok de validation.
Je réquépépête depuis le bédut ;-)
Toute utilisation de "Me" (qui fait référence à l'instance du formulaire
en cours)
*doit* et ne *peux* ce faire que *dans* le formulaire, et non dans
une
barre de menu (qui ne fait pas partie des objets du formulaire)
Tous les "Me" doivent donc êtrent remplacer par l'expression complète
Forms!NomForm..... pour que VBA sache de quel formulaire tu parle.
mais le Me en question ce fait dans le formulaire en cours puisqu'il s'agit du code du bouton (Ok) qui est sur le form! D'ailleurs par acquis de conscience j'ai remplacé le Me par Forms!NomForm..... etc ...et l'erreur persiste!!!
Je ne comprends pas où est la nuance entre mon bouton du form principal et mon menu contextuel qui appelle la même fonction!
Cordialement
Codial
"3stone" a écrit dans le message de news:
Salut Codial,
"Codial" | | Le Me fait référence au formulaire de saisie du numéro de document et sur | lequel se trouve le bouton Ok de validation.
Je réquépépête depuis le bédut ;-)
Toute utilisation de "Me" (qui fait référence à l'instance du formulaire en cours) *doit* et ne *peux* ce faire que *dans* le formulaire, et non dans une barre de menu (qui ne fait pas partie des objets du formulaire)
Tous les "Me" doivent donc êtrent remplacer par l'expression complète Forms!NomForm..... pour que VBA sache de quel formulaire tu parle.