IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

ouvrir un formulaire selon un champ d'un sous-formulaire


Sujet :

IHM

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Points : 89
    Points
    89
    Par défaut ouvrir un formulaire selon un champ d'un sous-formulaire
    Je souhaite ouvrir un formulaire selon un champ d'un sous formulaire qui donnera les enregistrements valables.

    Je me suis dit :" Passe par une variable commune à tout le formulaire mais j'ai donc fait ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public Sub Btn_Ouv_Form_Mem_Bat_Click ()
    Public Function StrRue () As String
    StrRue = Forms![Ss Form Rue]![RueBien]
    MsgBox (StrRue)
    End Function
    End Sub
    Mais il me met Erreur de compilation : End Sub attendu ! Que faire?

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2008
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 127
    Points : 78
    Points
    78
    Par défaut
    Salut,
    Tu te sers d'une fonction public qui ne sert à rien dans une procédure
    Voici le code correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub Btn_Ouv_Form_Mem_Bat_Click ()
    Dim StrRue As String
    StrRue = Forms![Ss Form Rue]![RueBien]
    MsgBox StrRue 
    End Sub

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Points : 89
    Points
    89
    Par défaut
    Le champ est situé dans un sous formulaire quand je mets le formulaire principal il me met qu'il ne trouve pas le champ : "Ss Form Bien" et quand j'enlève le formulaire principal il me mets qu'il ne trouve pas le sous-formulaire.
    On tourne en rond.
    A priori, cela viendrait d'un problème dans mon formulaire, car quand j'essaie d'obtenir une donnée à partir du formulaire principal contenue dans une zone de liste : je ne peux modifier cette zone de liste et quand je mets cette zone de liste en zone de texte : il est mis "#Nom ?" dans cette zone de texte donc problème...

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Points : 89
    Points
    89
    Par défaut
    Bonjour,
    Je me permets de remonter le sujet car c'est toujours un problème pour moi.
    J'ai essayé avec ce code mais cela ne donne rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Sub Btn_Ouv_Form_Mem_Bat_Click ()
    Dim StrRue As String
    StrRue = Forms![Ss Form Aff bien]![RueBien]
    MsgBox StrRue 
    End Sub
    Mais il me mets qu'il ne trouve pas le formulaire [Ss Form Aff bien] qui est pourtant un sous formulaire du formulaire principal!
    Merci de m'aider.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    Sauf erreur de ma part, pour accéder à un champ d'un sous-formulaire à partir du formulaire principal, il faut utilser la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrRue = Me.[Ss Form Aff bien].Form![RueBien]

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Points : 89
    Points
    89
    Par défaut
    Bonjour,
    J'ai trouvé ce qui n'allait pas il fallait mettre le nom de la fenêtre et pas celui du formulaire qui dans le cas présent étaient différents.

    Mon problème vient maintenant que quand je veux qu'il copie la valeur de numéroauto avec un bouton il le fait bien mais efface le sous-formulaire donc il n'y a plus de connection entre les deux.

    J'ai un autre problème avec un formulaire que je souhaite ouvrir selon une liste déroulante quand je lance le code, il me demande à quoi corespond la valeur de la liste déroulante et si je lui rentre une valeur à la main celle-ci est gardée en mémoire et ne pourra être changée.


    [Edit]
    C'est comme si il n'arrivait pas à lire ce qui est rentrer car j'ai essayé avec une zone de texte ou une zone de liste et c'est la même chose.
    Merci encore
    [/Edit]

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Points : 89
    Points
    89
    Par défaut
    Bonjour,
    Je suis arrivé à le faire une fois mais maintenant je dois le faire avec une valeur "Texte" et cela ne fonctionne plus, ma question est donc de savoir si il y a une syntaxe particulière avec une valeur texte?
    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Form Intervenant", , , "[NomInterv] =" & Forms![Form Rech Inter]![NomInterv]
    [Edit]C'était bien cela il fallait mettre le chemin amenant la variable entre guillemets cela donne donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Form Intervenant", , , "[NomInterv] =" & "Forms![Form Rech Inter]![NomInterv]"

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    Pour des paramètres de type texte, on utilise la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Form Intervenant", , , "[NomInterv] ='" & Forms![Form Rech Inter]![NomInterv] & "'"

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 205
    Points : 89
    Points
    89
    Par défaut
    Merci, c'était cela.

    [Edit]
    Maintenant je voudrais qu'il me l'ouvre avec plusieurs critères mais ma formule ne lui convient pas il me met "Incompatibilité de type" que faire?
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Form Intervenant", , , ("[NomInterv] ='" & Forms![Form Rech Inter]![NomInterv] & "'") And ("[PrenInterv] ='" & Forms![Form Rech Inter]![PrenInterv] & "'")

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    C'est un problème dans ta syntaxe.
    Tous les critères doivent être dans la chaine. Tu avais le And à l'extérieur et les ().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Form Intervenant", , , "[NomInterv] ='" & Forms![Form Rech Inter]![NomInterv] & "' And [PrenInterv] ='" & Forms![Form Rech Inter]![PrenInterv] & "'"

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/10/2014, 10h27
  2. Réponses: 7
    Dernier message: 15/03/2012, 10h37
  3. Réponses: 2
    Dernier message: 18/09/2007, 12h52
  4. Réponses: 8
    Dernier message: 24/11/2006, 15h06
  5. Réponses: 6
    Dernier message: 16/10/2006, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo