VBAccess Initialiser Variable Form

Je veux initialiser une variable Form dans un module Access pour récupérer le nom (et pas le titre) d'un formulaire.

Le script :

Dim MonForm as Form
With MonForm
MonForm.Name = "Titi"
End With


Et quand je teste ma variable MonForm, elle est désespéremment vide ... Ou est ce que je me trompe ?

6 réponses

  1. Modérateur
    Salut,

    la propriété 'name' n'est accessible en création d'un formulaire avec VBA.
    Il n'est pas possible ensuite de le renommer en VBA, seul le renommage par la fenêtre base de données fonctionne.

    Je crains malgré tout de ne pas avoir compris ta demande...

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
    1. With form existant dans le projet
      .Icon = icone
      .Caption = titre
      .Show
      ...
      end with

      form c'est une feuille du projet
      0
      1. salut,
        tu veux recuperer le nom d'un forms ouvert ou fermé ?

        A+
        Essayer.........des fois ça marche............
        0
        1. Bonjour,
          Je veux récupérer le nom d'un form ouvert ; ce form contient une combobox avec un Id.
          Le but du jeu est de charger le nom de mon form dans une variable d'où :
          Public MonForm as Variant (il faut que j'utilise ma variable plus loin dans le projet)
          MonForm = Me.Name

          Jusqu'à là, tout va bien....
          Puis je veux ouvrir un deuxième form en utilisant en critère la variable MonForm :
          DoCmd.OpenForm 'MonForm2',,,Id2 = Forms!MonForm![Id]

          Et c'est là que ça coince : Access me renvoie une erreur comme quoi le formulaireMonForm n'existe pas....bien que MonForm ait chargé le nom du formulaire initial...m'ouais.

          J'ai pensé que mon pb venait du type de variable d'où le

          Dim MonForm as Form
          With MonForm
          MonForm.Name = Me.Name
          End With

          Mais ça ne change rien....

          A+
          0
          1. ;-)

            C'est pas très clair, tout ça... Faudrait que tu développe un peu plus ton idée, pour nous éviter de partir dans tous les sens...

            Bon, comme ça, même si je me plante, je verrais bien l'utilisation d'une variable objet.... Vois la commande SET, ça t'ouvrira peut-être des portes...

            ;-)

            Wild and Free
            0
            1. Bonjour,

              Bien vu ! La solution est toute simple.

              Public MonForm as Form

              Puis un
              Set MonForm = Me pour initialiser la variable avec les caractéristiques du form en cours
              et un
              DoCmd.OpenForm "MonForm2",,, "Id2 ="& MonForm![Id]&""

              Merci à tous pour vos idées...
              0