Probleme de forrmulaire sous access

Fermé
thomichna Messages postés 94 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 juin 2008 - 17 nov. 2004 à 09:49
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 - 17 nov. 2004 à 13:59
D'abord bonjours à tout le monde car je suis nouveau ici.
Alors voila, j'ai un questionnaire interractif à faire sous access pour un stage mais le probleme est que je ne connais rien en access. J'ai fait un semblant de base de donnée mais je voudrai savoir un ptit truc :
Pour fermer tous les formulaires quand j'en ouvre un, le code est :

Private Sub Form_Open(Cancel As Integer)Function OuvrirUnSeulFormulaire(ByVal strForm As String)
' Commencer par fermer tous les formulaires potentiellement ouverts
Dim intI As Integer
For intI = 0 To Forms.Count - 1
    DoCmd.Close acForm, Forms(0).Name
Next

' Ouvrir le formulaire souhaité en mode Normal
DoCmd.OpenForm strForm, acNormal

End Sub


Il me met le machin en italique et dit qu'il y a une erreur; c'est très possible!!
Mais où faut-il que je mette ce code, dans evenement exeptionnel de chaque formulaire, si quelqu'un de généreux et de patient pouvait m'indiquer un forum ou mieux m'expliquer les bases de chez bases de access, se serait vraiment un chouette gars, Merci

9 réponses

Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
17 nov. 2004 à 10:25
Salut,

Premierement dans ton entête tu met
Private Sub Form_Open(Cancel As Integer)Function OuvrirUnSeulFormulaire(ByVal strForm As String)


Or il faut mettre soit
Private Sub Form_Open(Cancel As Integer)
soit
Function OuvrirUnSeulFormulaire(ByVal strForm As String)
mais pas les deux !!!!!
Soit tu fais une fonction soit uneporcedure mais pas les deux.

Un truc du genre :

Function OuvrirUnSeulFormulaire(ByVal strForm As String)
' Commencer par fermer tous les formulaires potentiellement ouverts

Dim intI As Integer
For intI = 0 To Forms.Count - 1
    DoCmd.Close acForm, Forms(0).Name
Next

' Ouvrir le formulaire souhaité en mode Normal
DoCmd.OpenForm strForm, acNormal

End Sub

me semble plus correct

Voila j'espere t'avoir fait avancé ++

;-)
~ ~ Fada ~ ~ : Member of #Star!alco
0
thomichna Messages postés 94 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 juin 2008 3
17 nov. 2004 à 11:48
Ok, j'ai changé, il n'y a plus l'erreur mais ça ne ferme pas les formulaires, faut-il changer quelques choses dans la procedure ?
0
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
17 nov. 2004 à 12:00
ben je suppose que tu veux que ca fasse ceci quand tu clique sur un bouton d'un formulaire. Donc si c'est bien le cas, tu vas dans la procédure onclick de ton bouton et tu met la liger
call OuvrirUnSeulFormulaire(nom_formulaire)
.

Normalement ca devrait aller ++

;-)
~ ~ Fada ~ ~ : Member of #Star!alco
0
thomichna Messages postés 94 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 juin 2008 3
17 nov. 2004 à 12:03
En fait mon questionnaire est composé de 5 pages qui s'ouvrent les unes apres les autres, je voudrais que quand on passe, d'une à l'autre, la précédente se ferme et ainsi de suite afin de n'avoir toujours qu'une seul page.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
17 nov. 2004 à 12:05
ah c'est ca !!

alors si dans ta procedure du bouton qui fait passer a la suivante tu met un truc du genre :

docmd.close
docmd.openform ... (jeme rappele plus de la syntaxe)


ca devrait suffire

;-)
~ ~ Fada ~ ~ : Member of #Star!alco
0
thomichna Messages postés 94 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 juin 2008 3
17 nov. 2004 à 12:10
oula :
Erreur de compilation
Erreur de syntaxe

Il a surligné : DoCmd. OpenForm
0
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
17 nov. 2004 à 12:23
tu as mis :
DoCmd.OpenForm nom_form_suivant, acNormal
??
;-)
~ ~ Fada ~ ~ : Member of #Star!alco
0
thomichna Messages postés 94 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 juin 2008 3
17 nov. 2004 à 12:29
C'est bon, j'a trouver grace à toi :
J'ai juste mis DoCmd.Close
en dessous entre
stDocName = "PAGE 4" 
et
DoCmd.OpenForm stDocName, , , stLinkCriteria


Merci 1000 fois, tu m'as vraiment sorti de la merde ;)))))))))
0
Fada09 Messages postés 1701 Date d'inscription lundi 15 septembre 2003 Statut Contributeur Dernière intervention 4 septembre 2010 539
17 nov. 2004 à 13:59
ok content de t'avoir aidé bonne chance pour la suite ++

;-)
~ ~ Fada ~ ~ : Member of #Star!alco
0