Probleme de forrmulaire sous access

thomichna Messages postés 94 Statut Membre -  
Fada09 Messages postés 1741 Statut Contributeur -
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 1741 Statut Contributeur 545
 
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 Statut Membre 3
 
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 1741 Statut Contributeur 545
 
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 Statut Membre 3
 
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 1741 Statut Contributeur 545
 
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 Statut Membre 3
 
oula :
Erreur de compilation
Erreur de syntaxe

Il a surligné : DoCmd. OpenForm
0
Fada09 Messages postés 1741 Statut Contributeur 545
 
tu as mis :
DoCmd.OpenForm nom_form_suivant, acNormal
??
;-)
~ ~ Fada ~ ~ : Member of #Star!alco
0
thomichna Messages postés 94 Statut Membre 3
 
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 1741 Statut Contributeur 545
 
ok content de t'avoir aidé bonne chance pour la suite ++

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