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

Changer un sous form de mode formulaire en mode feille de données

4 réponses
Avatar
Codial
Bonjour,

j'ai un sous formulaire en mode formulaire et je voudrais laisser le choix à
l'utilisateur de pouvoir l'afficher en mode feuille de données. Est ce que
je peux le faire par code et si oui comment ?

D'avance merçi

Cordialement

Codial

4 réponses

Avatar
Eric
Bonjour,

Voila ce que j'ai compris :
Tu as un formulaire avec un sous-formulaire et tu souhaites que
l'utilisateur puisse visualiser le sous-formulaire soit en mode
Formulaire soit en mode Feuille de données dans le formulaire principal.

Si l'on est dans cette situation, alors tu crées un bouton sur un
formulaire indépendant qui permettra d'ouvrir le formulaire principal
avec le choix de présentation du sous-formulaire par un clic sur le bouton.
Le code associé à ce bouton serait:
Private Sub Commande0_Click()
Dim strReponse As String, strPrompt As String
strPrompt = "Mode d'affichage : saisir " _
& vbCrLf & vbTab & "1 pour Affichage Formulaire" _
& vbCrLf & vbTab & "2 pour Affichage Feuille de données"
strReponse = InputBox(strPrompt, , "1 - Affichage Formulaire")
' ici si on annule, le formulaire + sous-form s'affiche
' comme à la dernière ouverture, mais on pourrait tester
' si len(strReponse)=0 et dans ce cas faire un Exit sub
If Len(strReponse) <> 0 Then
Dim f As Form
DoCmd.OpenForm ("NomSousFormulaire"), acDesign, , , , acHidden
Set f = Forms("NomSousFormulaire")
f.AllowDesignChanges = True
f.DefaultView = Left(strReponse, 1)
DoCmd.Close acForm, f.Name, acSaveYes
Set f = Nothing
End If
DoCmd.OpenForm "NomFormulairePrincipal"
End Sub

PS: y a peut-être plus simple mais ...

Bonjour,

j'ai un sous formulaire en mode formulaire et je voudrais laisser le choix à
l'utilisateur de pouvoir l'afficher en mode feuille de données. Est ce que
je peux le faire par code et si oui comment ?

D'avance merçi

Cordialement

Codial




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Codial
"Tu as un formulaire avec un sous-formulaire et tu souhaites que
l'utilisateur puisse visualiser le sous-formulaire soit en mode
Formulaire soit en mode Feuille de données dans le formulaire principal."

Oui c'est tout à fait ça et je te remercie de ta réponse et je vais tester.
Cependant, si j'ai bien compris il faut partir d'un form indépendant pour
ouvrir le form et le sous form soit en mode formulaire soit en mode feuille
de données. Ce que je charche à faire, en fait, c'est de permettre à
l'utilisateur de choisire en direct sur le form parent d'afficher le sous
form en mode form ou en mode feuille de données et vis versa.
Ce que j'ai fait jusqu'à maintenant c'est deux un sous form un qui s'ouvre
en mode form et un autre en mode feuille de données et je les appellent avec
SourceObject mais je pensais qu'il y avait plus simple.

Je vais tester ta réponse.

Encore merci

Cordialement

Codial


Bonjour, merci pour la réponse, je vais tester. Mais
"Eric" a écrit dans le message de news:

Bonjour,

Voila ce que j'ai compris :
Tu as un formulaire avec un sous-formulaire et tu souhaites que
l'utilisateur puisse visualiser le sous-formulaire soit en mode Formulaire
soit en mode Feuille de données dans le formulaire principal.

Si l'on est dans cette situation, alors tu crées un bouton sur un
formulaire indépendant qui permettra d'ouvrir le formulaire principal avec
le choix de présentation du sous-formulaire par un clic sur le bouton.
Le code associé à ce bouton serait:
Private Sub Commande0_Click()
Dim strReponse As String, strPrompt As String
strPrompt = "Mode d'affichage : saisir " _
& vbCrLf & vbTab & "1 pour Affichage Formulaire" _
& vbCrLf & vbTab & "2 pour Affichage Feuille de données"
strReponse = InputBox(strPrompt, , "1 - Affichage Formulaire")
' ici si on annule, le formulaire + sous-form s'affiche
' comme à la dernière ouverture, mais on pourrait tester
' si len(strReponse)=0 et dans ce cas faire un Exit sub
If Len(strReponse) <> 0 Then
Dim f As Form
DoCmd.OpenForm ("NomSousFormulaire"), acDesign, , , , acHidden
Set f = Forms("NomSousFormulaire")
f.AllowDesignChanges = True
f.DefaultView = Left(strReponse, 1)
DoCmd.Close acForm, f.Name, acSaveYes
Set f = Nothing
End If
DoCmd.OpenForm "NomFormulairePrincipal"
End Sub

PS: y a peut-être plus simple mais ...

Bonjour,

j'ai un sous formulaire en mode formulaire et je voudrais laisser le
choix à l'utilisateur de pouvoir l'afficher en mode feuille de données.
Est ce que je peux le faire par code et si oui comment ?

D'avance merçi

Cordialement

Codial




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Raymond [mvp]
Bonjour.

tu peux faire comme ceci:
Me.Sous_Form.SourceObject = ""
DoCmd.OpenForm "Sous_formulaire", acDesign, , , , acHidden
Forms("Sous_formulaire").DefaultView = 2 ' ou 1
DoCmd.Close acForm, "Sous_formulaire", acSaveYes
Me.Sous_Form.SourceObject = "Sous_formulaire"


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Codial" a écrit dans le message de news:
e$l8P%
| "Tu as un formulaire avec un sous-formulaire et tu souhaites que
| l'utilisateur puisse visualiser le sous-formulaire soit en mode
| Formulaire soit en mode Feuille de données dans le formulaire principal."
|
| Oui c'est tout à fait ça et je te remercie de ta réponse et je vais
tester.
| Cependant, si j'ai bien compris il faut partir d'un form indépendant pour
| ouvrir le form et le sous form soit en mode formulaire soit en mode
feuille
| de données. Ce que je charche à faire, en fait, c'est de permettre à
| l'utilisateur de choisire en direct sur le form parent d'afficher le sous
| form en mode form ou en mode feuille de données et vis versa.
| Ce que j'ai fait jusqu'à maintenant c'est deux un sous form un qui s'ouvre
| en mode form et un autre en mode feuille de données et je les appellent
avec
| SourceObject mais je pensais qu'il y avait plus simple.
|
| Je vais tester ta réponse.
|
| Encore merci
|
| Cordialement
|
| Codial
Avatar
Codial
Bonsoir Raymond,

merci pour ta réponse et je l'ai adaptée à mon besoin.

Cordialement

Codial

"Raymond [mvp]" a écrit dans le message
de news: %
Bonjour.

tu peux faire comme ceci:
Me.Sous_Form.SourceObject = ""
DoCmd.OpenForm "Sous_formulaire", acDesign, , , , acHidden
Forms("Sous_formulaire").DefaultView = 2 ' ou 1
DoCmd.Close acForm, "Sous_formulaire", acSaveYes
Me.Sous_Form.SourceObject = "Sous_formulaire"


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Codial" a écrit dans le message de news:
e$l8P%
| "Tu as un formulaire avec un sous-formulaire et tu souhaites que
| l'utilisateur puisse visualiser le sous-formulaire soit en mode
| Formulaire soit en mode Feuille de données dans le formulaire
principal."
|
| Oui c'est tout à fait ça et je te remercie de ta réponse et je vais
tester.
| Cependant, si j'ai bien compris il faut partir d'un form indépendant
pour
| ouvrir le form et le sous form soit en mode formulaire soit en mode
feuille
| de données. Ce que je charche à faire, en fait, c'est de permettre à
| l'utilisateur de choisire en direct sur le form parent d'afficher le
sous
| form en mode form ou en mode feuille de données et vis versa.
| Ce que j'ai fait jusqu'à maintenant c'est deux un sous form un qui
s'ouvre
| en mode form et un autre en mode feuille de données et je les appellent
avec
| SourceObject mais je pensais qu'il y avait plus simple.
|
| Je vais tester ta réponse.
|
| Encore merci
|
| Cordialement
|
| Codial