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

VBA Access Discussion :

Programmation et sous-formulaire


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Programmation et sous-formulaire
    Bonjour,
    Je me présente d'abord pour faire simple expert en programmation RPG /COBOL il y a 20 ans je suis novice en programmation sur PC. j'ai néanmoins réalisé une application avec Access (Gestion de données, présentation d'information Gros fichier de base environ 500 000 enregistrements. Mon passé n'a laissé quelques principes et l'un d'entre eux est : "on ne bégaye pas" c'est à dire que le même code ne doit être écrit qu'une seule fois dans l'application. j'ai réalisé une série de fonctions dans un "Module" qui traite de l'affichage d'une série de zones (Pardon de champs) avec 5 ou 6 formulaires différent et une syntaxe basique Forms(Frm).Champs1. .... ou Frm et un paramètre "Objet" alimenté par le formulaire appelant. Maintenant soucis l'évolution du produit me conduit à vouloir utiliser ces fonctions pour un sous-formulaire et la j'ai_ bien lu le tutoriel qui traîne sur le site mais il ne parle que d'adressage "en dur" avec des formes dont aucune me semble compatible avec le principe : quand je programme je ne connais pas le nom du formulaire ou du sous-formulaire mais ses valeurs peuvent être dans un ou plusieurs paramètre. Je sais que je suis un peu délirant mais si vous pouvez m'aider .......

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    j'ai_ bien lu le tutoriel qui traîne sur le site mais il ne parle que d'adressage "en dur" avec des formes dont aucune me semble compatible avec le principe
    S'agit-il de Les syntaxes d'appel - Interaction des formulaires et des états. ?
    Il y a un chapitre réservé à l'utilisation des variables objets
    Tu pourrais aussi envisager une table qui contient tous tes noms d'objets et y faire référence

    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    J'avais bien vu ce chapitre et si cela marche avec les formulaires, je ne parviens pas à le faire marcher avec le sous formulaire.
    A l'heure actuelle la syntaxe utilisé est la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim fo as object
    ....
    Function T_Tb(Frm, Code TableTb, libelle)
    1) openrecordset de la table pour récupérer libelle, un logique (visible oui/non), une couleur de fond et une couleur de caractère. (version la plus simple)
    le libellé est renvoyé(paramètre) différence entre Form de visualisation et de maintenance (liste de choix => alimentation libelle inutile)
    2) mise a jour zone
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     "Forms(Frm).NXNO_TB.visble= logique"
    "Forms(Frm).WE_TB.visible= logique"
    "Forms(Frm).WQ_TB.visible= logique"
    if logique then
    "Forms(Frm).WE_TB.Backcolor=couleur1"
    "Forms(Frm).WE_TB.forecolor=couleur2"
    "Form(Frm).NXNO_TB=bt"
    endif
    et dans le formulaire j'ai la ligne T_Tb Fo, NXNO_TB, WS_LIB
    Dans les premiers formulaire fo était string et alimenté en dur avec le nom du formulaire, dans les plus récents fo est defini en objet et alimenté par FO=FORMS(0)
    Cela marche parfaitement dans les deux cas.
    maintenant si le triplet zones NXNO_TB (Code) ,WE_TB (Libellé), WQ_TB(Etiquette) sont dans un sous-formulaire quelque soit ma façon d'alimenter Fo le résultat est le même : (Formulaire inconnu).

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Bonjour,
    Vraiment personne pour m'aider. la solution du copier-coller me semble intellectuellement lamentable. merci de m'aider.
    cordialement

    ps:
    j'ignorais le truc pour les lignes de code, mais maintenant qu'une âme charitable l'a mis en forme, je n'y ait plus accès pour corriger une erreur.

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Normalement, un sous-formulaire en tant qu'objet "Form", tu l'appelles avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!FormulairePrincipal.NomSousFormulaire.Form
    où NomSousFormulaire est le nom dans les propriétés "Autres" du container du sous-formulaire.

    Je ne sais pas si tu as déjà lu le tuto de loufab sur l'interaction et appel des sous-formulaires ICI

    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Cela ne peut pas marcher car la formulation Forms!Principal.sous-form.form implique par sa syntaxe que l'on connaisse le nom du formulaire et du sous-formulaire quand on code. Hors il existe 5 formulaires appelant directement la fonction (Syntaxe Forms(Frm) ou frm est une variable) et cela marche très bien, maintenant un 6 éme formulaire (qui sera un sous-formulaire) de 5 autres formulaires doit appeler la fonction. Donc pour être clair je cherche la syntaxe pour adresser un sous formulaire dont le nom est dans une variable. (le nom du formulaire principal étant lui aussi dans une variable).

Discussions similaires

  1. Programmer un sélecteur de fichier sous formulaire
    Par thierrykammi dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 03/09/2008, 16h28
  2. [Access97] Programmer la couleur de fond d'un sous-formulaire
    Par totojordi dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/07/2008, 11h37
  3. [Programmation]champ pere contenu dans un sous formulaire
    Par TheBlackReverand dans le forum IHM
    Réponses: 8
    Dernier message: 30/04/2007, 22h39
  4. Verouillage de formulaire et sous formulaire
    Par Mattdesoibs dans le forum IHM
    Réponses: 3
    Dernier message: 15/10/2004, 10h22
  5. où est mon sous-formulaire ?
    Par yves_fuji dans le forum IHM
    Réponses: 2
    Dernier message: 08/09/2004, 08h34

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