Bonjour à tous,
J'ai un form (menu principal) qui contient plusieurs onglets...
Dans chaque onglet, il y a (ou pas) un formulaire.
Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un onglet,
le formulaire que je viens de quitter se positionne sur un nouvel
enregistrement.
J'ai écrit :
---------
Private Sub CtlOnglets_Change()
Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control
'Stop
'Est-ce que l'onglet précédent contenait un formulaire ?
If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then
NomFormulaire = "Forms![frmMenuPrincipal]![" &
Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]"
'NomFormulaire =
Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name
End If
Stop
If NomFormulaire <> "" Then
On Error Resume Next
DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec
On Error GoTo 0
Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire)
'Instruction pour afficher un nouvel enregistrement
'frm.Form.btNouveau_Click
Debug.Print frm.Name
End If
SvgOngletPrécédent = Me.CtlOnglets.Value
'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption,
Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire
'Debug.Print frm.Name
End Sub
--------
Note : SvgOngletPrécédent est une variable "public"
Il y a du code en trop (mais c'est pour tester)
L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me renvoie
toujours "Le form. machin n'est pas ouvert"
Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé pour
l'instant)
Merci d'avance si vous avez des idées...
Jero
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
Goupil
Bonjour,
La création d'un nouvel enregistrement pourrait se faire par la fonction DoCmd.GoToRecord , , acNewRec dans la propriété <Sur désactivé> Ca devrait marcher...
Goup'
"ejc" <~ a écrit dans le message de news:
Bonjour à tous, J'ai un form (menu principal) qui contient plusieurs onglets... Dans chaque onglet, il y a (ou pas) un formulaire. Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un onglet, le formulaire que je viens de quitter se positionne sur un nouvel enregistrement. J'ai écrit : --------- Private Sub CtlOnglets_Change() Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control 'Stop 'Est-ce que l'onglet précédent contenait un formulaire ? If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then NomFormulaire = "Forms![frmMenuPrincipal]![" & Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]" 'NomFormulaire = Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name End If Stop If NomFormulaire <> "" Then On Error Resume Next DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec On Error GoTo 0 Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire) 'Instruction pour afficher un nouvel enregistrement 'frm.Form.btNouveau_Click Debug.Print frm.Name End If SvgOngletPrécédent = Me.CtlOnglets.Value 'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption, Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire 'Debug.Print frm.Name End Sub -------- Note : SvgOngletPrécédent est une variable "public" Il y a du code en trop (mais c'est pour tester) L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me renvoie toujours "Le form. machin n'est pas ouvert" Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé pour l'instant) Merci d'avance si vous avez des idées... Jero
Bonjour,
La création d'un nouvel enregistrement pourrait se faire par la fonction
DoCmd.GoToRecord , , acNewRec
dans la propriété <Sur désactivé>
Ca devrait marcher...
Goup'
"ejc" <~jpg@jpg.net> a écrit dans le message de news:
OnJSG8ZQKHA.5068@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un form (menu principal) qui contient plusieurs onglets...
Dans chaque onglet, il y a (ou pas) un formulaire.
Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un
onglet, le formulaire que je viens de quitter se positionne sur un nouvel
enregistrement.
J'ai écrit :
---------
Private Sub CtlOnglets_Change()
Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control
'Stop
'Est-ce que l'onglet précédent contenait un formulaire ?
If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then
NomFormulaire = "Forms![frmMenuPrincipal]![" &
Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]"
'NomFormulaire =
Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name
End If
Stop
If NomFormulaire <> "" Then
On Error Resume Next
DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec
On Error GoTo 0
Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire)
'Instruction pour afficher un nouvel enregistrement
'frm.Form.btNouveau_Click
Debug.Print frm.Name
End If
SvgOngletPrécédent = Me.CtlOnglets.Value
'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption,
Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire
'Debug.Print frm.Name
End Sub
--------
Note : SvgOngletPrécédent est une variable "public"
Il y a du code en trop (mais c'est pour tester)
L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me renvoie
toujours "Le form. machin n'est pas ouvert"
Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé pour
l'instant)
Merci d'avance si vous avez des idées...
Jero
La création d'un nouvel enregistrement pourrait se faire par la fonction DoCmd.GoToRecord , , acNewRec dans la propriété <Sur désactivé> Ca devrait marcher...
Goup'
"ejc" <~ a écrit dans le message de news:
Bonjour à tous, J'ai un form (menu principal) qui contient plusieurs onglets... Dans chaque onglet, il y a (ou pas) un formulaire. Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un onglet, le formulaire que je viens de quitter se positionne sur un nouvel enregistrement. J'ai écrit : --------- Private Sub CtlOnglets_Change() Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control 'Stop 'Est-ce que l'onglet précédent contenait un formulaire ? If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then NomFormulaire = "Forms![frmMenuPrincipal]![" & Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]" 'NomFormulaire = Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name End If Stop If NomFormulaire <> "" Then On Error Resume Next DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec On Error GoTo 0 Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire) 'Instruction pour afficher un nouvel enregistrement 'frm.Form.btNouveau_Click Debug.Print frm.Name End If SvgOngletPrécédent = Me.CtlOnglets.Value 'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption, Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire 'Debug.Print frm.Name End Sub -------- Note : SvgOngletPrécédent est une variable "public" Il y a du code en trop (mais c'est pour tester) L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me renvoie toujours "Le form. machin n'est pas ouvert" Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé pour l'instant) Merci d'avance si vous avez des idées... Jero
ejc
Salut,
DoCmd.GoToRecord , , acNewRec : oui, je sais Ca devrait marcher... : oui, sauf que ça doit s'appliquer au formulaire précédent (et c'est là que j'ai un pb.)
A+
"Goupil" a écrit dans le message de news: 4ac31c3a$0$991$
Bonjour,
La création d'un nouvel enregistrement pourrait se faire par la fonction DoCmd.GoToRecord , , acNewRec dans la propriété <Sur désactivé> Ca devrait marcher...
Goup'
"ejc" <~ a écrit dans le message de news:
Bonjour à tous, J'ai un form (menu principal) qui contient plusieurs onglets... Dans chaque onglet, il y a (ou pas) un formulaire. Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un onglet, le formulaire que je viens de quitter se positionne sur un nouvel enregistrement. J'ai écrit : --------- Private Sub CtlOnglets_Change() Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control 'Stop 'Est-ce que l'onglet précédent contenait un formulaire ? If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then NomFormulaire = "Forms![frmMenuPrincipal]![" & Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]" 'NomFormulaire = Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name End If Stop If NomFormulaire <> "" Then On Error Resume Next DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec On Error GoTo 0 Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire) 'Instruction pour afficher un nouvel enregistrement 'frm.Form.btNouveau_Click Debug.Print frm.Name End If SvgOngletPrécédent = Me.CtlOnglets.Value 'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption, Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire 'Debug.Print frm.Name End Sub -------- Note : SvgOngletPrécédent est une variable "public" Il y a du code en trop (mais c'est pour tester) L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me renvoie toujours "Le form. machin n'est pas ouvert" Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé pour l'instant) Merci d'avance si vous avez des idées... Jero
Salut,
DoCmd.GoToRecord , , acNewRec : oui, je sais
Ca devrait marcher... : oui, sauf que ça doit s'appliquer au formulaire
précédent (et c'est là que j'ai un pb.)
A+
"Goupil" <quentin@optojet.fr> a écrit dans le message de news:
4ac31c3a$0$991$ba4acef3@news.orange.fr...
Bonjour,
La création d'un nouvel enregistrement pourrait se faire par la fonction
DoCmd.GoToRecord , , acNewRec
dans la propriété <Sur désactivé>
Ca devrait marcher...
Goup'
"ejc" <~jpg@jpg.net> a écrit dans le message de news:
OnJSG8ZQKHA.5068@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un form (menu principal) qui contient plusieurs onglets...
Dans chaque onglet, il y a (ou pas) un formulaire.
Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un
onglet, le formulaire que je viens de quitter se positionne sur un nouvel
enregistrement.
J'ai écrit :
---------
Private Sub CtlOnglets_Change()
Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control
'Stop
'Est-ce que l'onglet précédent contenait un formulaire ?
If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then
NomFormulaire = "Forms![frmMenuPrincipal]![" &
Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]"
'NomFormulaire =
Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name
End If
Stop
If NomFormulaire <> "" Then
On Error Resume Next
DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec
On Error GoTo 0
Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire)
'Instruction pour afficher un nouvel enregistrement
'frm.Form.btNouveau_Click
Debug.Print frm.Name
End If
SvgOngletPrécédent = Me.CtlOnglets.Value
'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption,
Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire
'Debug.Print frm.Name
End Sub
--------
Note : SvgOngletPrécédent est une variable "public"
Il y a du code en trop (mais c'est pour tester)
L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me
renvoie toujours "Le form. machin n'est pas ouvert"
Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé
pour l'instant)
Merci d'avance si vous avez des idées...
Jero
DoCmd.GoToRecord , , acNewRec : oui, je sais Ca devrait marcher... : oui, sauf que ça doit s'appliquer au formulaire précédent (et c'est là que j'ai un pb.)
A+
"Goupil" a écrit dans le message de news: 4ac31c3a$0$991$
Bonjour,
La création d'un nouvel enregistrement pourrait se faire par la fonction DoCmd.GoToRecord , , acNewRec dans la propriété <Sur désactivé> Ca devrait marcher...
Goup'
"ejc" <~ a écrit dans le message de news:
Bonjour à tous, J'ai un form (menu principal) qui contient plusieurs onglets... Dans chaque onglet, il y a (ou pas) un formulaire. Ce que je souhaite (ou souhaiterai) faire : lorsque je clique sur un onglet, le formulaire que je viens de quitter se positionne sur un nouvel enregistrement. J'ai écrit : --------- Private Sub CtlOnglets_Change() Dim NuméroOnglet As Byte, NomFormulaire As String, frm As Control 'Stop 'Est-ce que l'onglet précédent contenait un formulaire ? If Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls.Count = 1 Then NomFormulaire = "Forms![frmMenuPrincipal]![" & Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name & "]" 'NomFormulaire = Me.CtlOnglets.Pages(SvgOngletPrécédent).Controls(0).Name End If Stop If NomFormulaire <> "" Then On Error Resume Next DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec On Error GoTo 0 Set frm = Forms![frmMenuPrincipal].Form(NomFormulaire) 'Instruction pour afficher un nouvel enregistrement 'frm.Form.btNouveau_Click Debug.Print frm.Name End If SvgOngletPrécédent = Me.CtlOnglets.Value 'Debug.Print NuméroOnglet, Me.CtlOnglets.Pages(NuméroOnglet).Caption, Me.CtlOnglets.Pages(NuméroOnglet).Controls.Count, NomFormulaire 'Debug.Print frm.Name End Sub -------- Note : SvgOngletPrécédent est une variable "public" Il y a du code en trop (mais c'est pour tester) L'erreur : DoCmd.GoToRecord acDataForm, NomFormulaire, acNewRec me renvoie toujours "Le form. machin n'est pas ouvert" Il doit y avoir d'autres façons de traiter le pb. (je n'ai pas essayé pour l'instant) Merci d'avance si vous avez des idées... Jero