Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2011, 11h36   #1
Membre habitué
 
quentin massé
Inscription : janvier 2010
Messages : 251
Détails du profil
Informations personnelles :
Nom : quentin massé
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2010
Messages : 251
Points : 125
Points : 125
Par défaut ouvrir un formulaire en mode nouvel enregistrement

Bonjour,

J'ai un formulaire à onglet (code trouvé sur le net).
Je voudrai que lorsque je suis sur le premier onglet, que mon formulaire appelé soit en mode nouvel enregistrement.
Je sais le faire lorsque j'appel un formulaire par la ligne de code:

Code :
DoCmd.OpenForm ("Frm_Nouv_projet"), acNormal, , , acFormAdd
Mais avec se formulaire a onglet je n'y arrive pas.

Le code du formulaire à onglet:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Sub OngletSelect(ctrlOnglet As Control)
 
    ' ===== cette routine permet de mieux visualiser l'onglet sélectionné =====
 
    'on met tous les labels qui servent d'onglet de la même hauteur, pour voir
    'la partie basse
 
    Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is Label Then
            If Left(ctrl.Name, 9) = "lblOnglet" Then
                ctrl.Height = 397
            End If
        End If
    Next ctrl
 
    ' on agrandit le label sélectionné pour qu'il passe sous le sous-formulaire car celui-ci
    ' a été crée après, ce qui fait que visuellement on a une continuité
 
    ctrlOnglet.Height = 450
 
 
End Sub
Code de l'appel du formulaire

Code :
1
2
3
4
5
Private Sub lblOnglet1_Click()
    Me.sfm_Onglet.SourceObject = "Frm_Nouv_Famille"
    DoCmd.Maximize
    Call OngletSelect(Me.lblOnglet1)
End Sub
Je pense que c'est dans le code qui nomme l'objet source (Cf ci-dessus) mais je ne voie pas comment.

Merci de votre aide.
rob1son76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 13h58   #2
Membre habitué
 
quentin massé
Inscription : janvier 2010
Messages : 251
Détails du profil
Informations personnelles :
Nom : quentin massé
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2010
Messages : 251
Points : 125
Points : 125
Bon après avoir mieux cherché sur le forum j'ai trouvé la solution.
Elle se trouvait dans un sujet mais aussi dans un tuto.
http://www.developpez.net/forums/d10...re-mode-ajout/

la solution:

Code :
1
2
3
4
5
6
Private Sub lblOnglet1_Click()
    Me.sfm_Onglet.SourceObject = "Frm_Nouv_Famille"
    Me.sfm_Onglet.Form.Recordset.AddNew
    DoCmd.Maximize
    Call OngletSelect(Me.lblOnglet1)
End Sub
rob1son76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h53.


 
 
 
 
Partenaires

Hébergement Web