Rechercher : dans
Par :

ACCESS - Parcours de formulaire - Syntaxe

Dernière réponse le 28 jui 2004 à 11:54:54 Julaie, le 27 jui 2004 à 15:36:04 
 Signaler ce message aux modérateurs

Bonjour,

Je cherche à faire des parcours de formulaire et des ses sous formulaires mon problème c que je n'arrive pas à appeller mon sous-formulaire cf le designer
J ai un variable de type form qui designe mon formulaire courant quelle est la syntaxe pour designer le sous formulaire ?
Merci d avance

Julie.

Meilleures réponses pour « ACCESS Parcours de formulaire Syntaxe » dans :
Formulaires en ligne - Les champs de saisie VoirQuelles données saisir ? Comment dois-je saisir l'information L'organisation des champs de saisie Séparer les champs de saisie L'organisation des champs et des titres La longueur des champs Quelles données saisir ? Sur la plupart des...

1

blux, le 27 jui 2004 à 16:03:01

Salut,

sans explication, pas moyen de trouver :-)))

Forms![principal].Form![SF_Start_Group-G].Visible = True
Cette ligne rend visible le sous-formulaire nommé "SF_Start_Group-G" situé dans le formulaire "principal"...

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

Nerva, le 27 jui 2004 à 16:03:11

Bonjour Julie,

Je n'arrive pas bien à saisir ta question ; est-ce que tu veux lier ton sous-formulaire à ton formulaire principal ?

Répondre à Nerva

3

Julaie, le 27 jui 2004 à 16:11:08

Re :) Merci pour les reponses déjà je vais réexpliquer
Mon formulaire est déjà fait mais lorsque la saisie est fini je veux pouvoir faire un controle sur ce qui a été saisie.
Je souhaite verifié la valeur d'un champ de mon formulaire principal et si elle me convient allez voir dans le sous formulaire si les valeurs me conviennent aussi. Pour cela je fais du recursif je verifie mes valeurs dans le formulaire courant puis je rapl ma fonction sur le sous formulaire et ainsi de suite mon problème c'est lorsque je veux rapl ma fonction sur le sous formulaire je n'arrive pas à trouver la bonne syntaxe pour désigner ce sous formulaire

ublic Function testFormulaire(mon_form As Form) As Boolean
    Dim ctl As Control
    MsgBox ("Entree dans " & mon_form.Name)
    
    If mon_form![Somme_fin] <> 1 Then
        MsgBox ("Somme_fin différent de 100% ! Veuillez modifier vos valeurs")
        testFormulaire = False
    Else
        MsgBox ("Entree else")
        For Each ctl In mon_form.Controls
        If ctl.Name = "Pourcentage" Then
        MsgBox ("Valeur " & ctl.Name & ":" & ctl.Value)
            If ctl.Value <> 0 Then
                Select Case mon_form.Name
                    Case "Silhouette_ss-form"
                    MsgBox ("Cas 1")
                        testFormulaire = testFormulaire(Forms!Ligne_Contrat!Silhouette_ss - Form!Finitions_ss - Form)
                    Case "Finitions_ss-form"
                    MsgBox ("Cas 2")
                        testFormulaire = testFormulaire(mon_form.Motor_sous_formulaire)
                    Case "Motor_form"
                    MsgBox ("Cas 3")
                        testFormulaire = testFormulaire(mon_form.Couleur_ext_form)
                    Case "Couleur_ext_form"
                    MsgBox ("Cas 4")
                        testFormulaire = testFormulaire(mon_form.Couleur_int_form)
                    Case "Couleur_int_form"
                    MsgBox ("Cas 5")
                        testFormulaire = True
                End Select
            End If
        End If
        Next ctl
    End If
End Function


Voila le code c en mode debugage pour l instant donc je sais pas si ca va etre clair j espere en tout cas que mes explications etaient plus clair :)
G mis en gras ou mon probleme se pose

Julie.

Répondre à Julaie

4

blux, le 27 jui 2004 à 16:20:29

Pour moi, le problème est qu'un formulaire ne s'appelle pas avec la même syntaxe qu'un sous-formulaire, donc en récursif, il faudrait rajouter le début du nom (ou le concaténer avant l'appel)...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

5

Julaie, le 27 jui 2004 à 16:25:07

Je n ai pas compris ce que tu dis qu il faut concaténer
Merci,

Julie.

Répondre à Julaie

6

blux, le 27 jui 2004 à 16:31:57

En clair, ta ligne "cas1", n'a pas la syntaxe correcte pour référencer un sous-formulaire.

pour un sous-formulaire : forms!nom_form.form!nom_de_sous_form
pour un formulaire : forms!nom_form

Il faut donc appeler différemment un sous-formulaire, i.e rajouter .form!.... si tu veux faire passer le nom dans une fonction récursive.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

7

Julaie, le 27 jui 2004 à 16:43:55

OK mais j ai essayé de mette le nom complet :
testFormulaire = testFormulaire(Forms!Silhouette_ss - Form.Form!Finitions_ss - Form)

Le prob c que mon formulaire s'apl Silhouette_ss-form avec un petit "f" et Access me mets un grand F d'où le problème et si je change le nom de mon formulaire ca me boussille mon formulaire au nivo des requetes donc mission impossible ...
:(

Julaie.

Répondre à Julaie

8

blux, le 27 jui 2004 à 16:52:07

Quand un obJet ACCESS contient des caractères spéciaux (espace...), on le met généralement entre crochets : [mon form]...

Il doit reconnaitre le '-' comme caractère spécial (c'est le signe de la soustraction en VBA, et il n'aime pas qu'on le mette dans les noms d'objets, son analyseur de syntaxe se perd un peu les pédales...)

Ca t'aiderait ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

9

julaie, le 27 jui 2004 à 17:02:51

Bon au moins il execute avec ca :) merci bien
mais ca fait pas encore ce que je veux mais ca doit etre mon prog qui est foireux ;) faut que je debug merci bien :)

Julie.

Répondre à julaie

10

blux, le 27 jui 2004 à 17:15:56

Ah ben voui !
Je debuggue pas l'algorithmique dans les pensées... ;-)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

11

Julaie, le 28 jui 2004 à 09:22:25

Bonjour,

Bon g ce problème de caractères spécials et si je modifie le nom de mes formulaires g des requetes qui foire (meme en changeant les noms dedans ! je vois pas pkoi) ke faire ? HELP

Julie.

Répondre à Julaie

12

blux, le 28 jui 2004 à 09:29:19

Elles foirent ?
C'est quoi le message d'erreur ?
Tu as mis des [] pour les noms de champ avec des caractères "spécials" ?

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

13

Julaie, le 28 jui 2004 à 10:00:07

Lol caractères spéciaux pardon oué g mis les [] mais il es pas content du coup je change le nom de mes formulaires en les simplifiant mais maintenant mon formulaire foire sur une liste déroulante : dans mon dernier sous formulaire j ai une liste déroulante qui trouve ses valeurs grace à une requete SQL mais cette requete utilise la clé qui est dans ce formulaire sur la meme ligne la requete en elle meme marche bien mais quand j execute le formulaire il me trouve pas cette clé qui est pourtant dans le formulaire il m ouvre alors une boite de dialogue pour me la demander ... Galère :(

Julie.

Répondre à Julaie

14

blux, le 28 jui 2004 à 10:06:45

Il se peut qu'ACCESS n'ait pas véritablement changé le nom du sous-formulaire, cela arrive lorsqu'on le renomme. Vérifie que le nom est correct partout (cliquer une fois sur le sous-form et vérifier ses propriétés...)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

15

Julaie, le 28 jui 2004 à 10:13:06

Mais c de la folie c pas sorcier ce que je veux faire et j y arrive pas ! J hallucine :(
Maintenant que j ai mon problème précédent, j ai changé mes noms de formulaires il reconnait jamais le formulaire l'erreur c
"impossible de trouver le formulaire ..."

Répondre à Julaie

16

blux, le 28 jui 2004 à 10:22:34

C'est ce que je dis, il a gardé quelque part l'ancien nom, cela arrive avec les sous-formulaires, vois mon message 14...

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

18

Julaie, le 28 jui 2004 à 10:49:34

Oué j ai refait le tour et tout remis correctement effectivement ca avait pas tout modifié et ma requete marche com ca mais mon prob de formulaire est tjs le meme :(

Julie.

Répondre à Julaie

17

Julaie, le 28 jui 2004 à 10:48:06

Bon je vais donner toutes les infos peut etre quelqu un pourra me donner la reponse :
Voici la hierarchie de mes formulaires
Ligne_Contrat>silhouette>Finitions>Motorisation>Couleur_ext>Couleur_int

J ai la variable mon_form = silhouette
Je veux apl ma fonction sur le sous formulaire Finitions
testFormulaire = testFormulaire(????)
Que dois je mettre dans ????
J ai test Forms!silhouette.Form!Finitions
et d autre à chaque fois il me repond impossible de trouver le formulaire 'silhouette'

Merci (notamment à Blux pour sa patience ;) )

Julie.

Répondre à Julaie

19

blux, le 28 jui 2004 à 10:54:56

J'ai jamais mis plus de 2 forms en sous-forms, amis je verrais plutôt cela comme syntaxe :

forms![ligne_contrat].form![silhouette].form![finitions]
ou
forms![ligne_contrat].forms![silhouette].form![finitions]

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

20

Julaie, le 28 jui 2004 à 11:02:26

Ca compte les majuscule minuscule non ?

Julie.

Répondre à Julaie

22

blux, le 28 jui 2004 à 11:07:47

Non.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

21

Julaie, le 28 jui 2004 à 11:06:15

"Impossible de trouver le formulaire 'Ligne_Contrat' ..."
:(
Merci tout de même peut etre que le contexte ne lui permet pas de situer le formulaire

Julie.

Répondre à Julaie