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 :

Référence par valeur


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut Référence par valeur
    Bonjour,

    Je veux utiliser la même procédure pour plusieurs formulaires, donc j’envoie un paramètre (le nom du formulaire) par valeur dans une procédure :

    Private Sub MaProcedure(ByVal Formulaire As String)

    Ensuite, je dois utiliser ce formulaire dans ma procédure. Je ne sais pas sous quel forme je doit l’écrire :

    Forms![Formulaire]
    Forms!Formulaire
    Forms!"Formulaire"

    Rien ne fonctionne On me dit que la form Formulaire n'existe pas…
    Je ne veux pas la form Formulaire mais la form(valeur de formulaire)

    Sous quelle forme dois-je l’écrire pour que ça fonctionne

    Merci beaucoup

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Ajoute ton morceau de code stp (pense aux balises)
    Salutations

    Bruno


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Private Sub Bascule27_Click()
     
    If Me.IDEvenement.Value = 1 Then
          n = "F1"
    Else n = "F2"
    End If
     
        If ChildFormIsOpen(n) Then
            CloseChildForm (n)
        Else
            OpenChildForm (n)
            FilterChildForm (n)
        End If
     
    LienBascule_Click_Exit:
        Exit Sub
    LienBascule_Click_Err:
        MsgBox Error$
        Resume LienBascule_Click_Exit
     
    End Sub
    Toutes les procédure fonctionnent sauf FilterChildForm... j'imagine que c'est la notation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub FilterChildForm(ByVal Nom As String)
     
        If Me.NewRecord Then
            Forms![Nom].DataEntry = True
        Else
            Forms![Nom].Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement]
            Forms![Nom].FilterOn = True
        End If
     
    End Sub

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    la bonne manière c'est :

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms(VariableChaineNom)
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    La première façon ne fonctionne pas

    La deuxième façon ne me renvoie pas d'erreur mais n'applique pas mon filtre.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Ce qui m'étonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     Forms![Nom].Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement]
     
    'Essaie
     
     
    Forms![Nom].Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement] & "
    Tu ferme pas tes quotes (enfin je pense, si j'ai bien lu)
    Salutations

    Bruno


  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    et ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Forms(Nom).Filter = "[IDVille] = """ & Me.[IDVille]  & _
        """ AND [IDEvenement] = " & Me.[IDEvenement] & _
        " AND [NoEvenement] = " & Me.[NoEvenement]
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Ça ne fonctionne pas plus. le ploblème c'est que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms![F1].Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement]
    fonctionne très bien!

    Mais j'ai 12 formulaires à faire passer dans cette procédure et je ne veux pas l'écrire 12 fois avec des noms de formulaire différent

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hep, ils sont bien tous ouverts tes formulaires ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    La procédure précedente OpenChildForm ouvre mes formulaires et elle fonctionne bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub OpenChildForm(byval Nom as string)
     
        DoCmd.OpenForm Nom
        If Not Me.[LienBascule] Then Me![LienBascule] = True
     
    End Sub

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par Eva71
    Ça ne fonctionne pas plus. le ploblème c'est que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Forms![F1].Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement]
    fonctionne très bien!

    Mais j'ai 12 formulaires à faire passer dans cette procédure et je ne veux pas l'écrire 12 fois avec des noms de formulaire différent
    OK. Avait pas compris.

    Je sais pas si ca marche, mais si tu boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim i, j
    i = 1
    j = 0
    Dim form(0 To 11)
     
        'Liste les forms
    form(0) = Form!NomForm1
    form(1) = Form!NomForm2
     
        For i = 1 To 11
    form(j).Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement]
    j = j + 1
        Next i
    Salutations

    Bruno


  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    je ne cherche pas nécessairement à ce que tous les formulaires s'ouvre et se filtre, ça dépend de la valeur choisi dans une liste déroulante du formulaire. c'est pourquoi je renvoyais cette valeur dans ma procédure.

  13. #13
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    et Debug.Print Forms(Nom).Filter ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  14. #14
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Et si c'était le nom de la variable "Formulaire" qui pose problème?
    Amicalement

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    pas de message d'erreur mais le filtre ne fonctionne pas

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par DMboup
    Et si c'était le nom de la variable "Formulaire" qui pose problème?

    Tu veux dire... l'appeler autrement? je l'ai déjà appeler formulaire, et ensuite nom...

    Je trouve bien bizzare que mes procédure OpenChildForm, CloseChildForm, ChildFormIsOpen fonctionnent bien. Mais je crois vraiment que c'est la façon de l'écrire car dans toutes ces procédures, je le nomme directement sans Forms![] ou autres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DoCmd.OpenForm Nom
    ChildFormIsOpen = (SysCmd(acSysCmdGetObjectState, acForm, Nom) And acObjStateOpen) <> False
    DoCmd.Close acForm, Nom

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    DoCmd.OpenForm Nom
    Nom est aussi un mot qui peut avoir un comportement un peu spécial.

    Je serais toi je change le nom des variables. Pas de formulaire ni de nom.
    Amicalement

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Peu importe... reste que

    fonctionne et que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Nom].Filter = "[IDVille] = " & """" & Me.[IDVille]  & """" & " AND [IDEvenement] = " & Me.[IDEvenement] & " AND [NoEvenement] = " & Me.[NoEvenement]
    ne fonctionne pas

    et je viens d'essayer avec rheui... ne marche toujours pas

  19. #19
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Tu indiques que ça ne marche pas avec (je trouve ça logique)
    t'es sûr que ça ne marche pas avec ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    J'ai fais un copier coller de mon fichier... et dans ce nouveau fichier
    Forms(Nom).Filter
    fonctionne très bien!

    Ça ne fonctionne toujours pas dans mon fichier original mais bon... je vais continuer avec la copie de mon fichier!

    Merci à tous pour votre aide!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comptage par valeur
    Par solp dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/03/2006, 04h16
  2. Passage par Valeur
    Par xc78370 dans le forum Langage
    Réponses: 8
    Dernier message: 20/03/2006, 23h21
  3. Passage par valeur / passage par adresse
    Par jeje99 dans le forum C++
    Réponses: 13
    Dernier message: 16/02/2006, 10h29
  4. Tri par valeur d un hash de hash
    Par LeLaulau dans le forum Langage
    Réponses: 4
    Dernier message: 28/09/2005, 10h33
  5. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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