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 :

[AC-2007] Affichage d'une valeur selon une autre valeur saisie


Sujet :

IHM

  1. #1
    Membre averti
    Profil pro
    Technicienne en géomatique
    Inscrit en
    Octobre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en géomatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 38
    Par défaut [AC-2007] Affichage d'une valeur selon une autre valeur saisie
    Bonjour à tous,

    Je suis responsable d'un comptoir de prêt de matériel, et j'aimerais informatiser mon formulaire de prêt.

    Il consiste en une colonne pour le code de l'équipement, puis une autre pour le nom de l'équipement.

    Et dans mon formulaire, j'aimerais que lorsque j'entre le code dans la zone de texte (Ex. GEO-0245), le nom de l'équipement correspondant s'affiche automatiquement dans la zone de texte adjacente (ex. Boussole).

    Évidemment, la liste de mes équipements est dans une table Access.

    Le problème que j'ai, c'est que je ne sais pas comment coder pour lui dire de faire apparaitre à tel endroit, le nom de l'équipement qui correspond à tel code GEO. Je sais que je dois écrire : Sur changement de la valeur dans zone de texte "CODE GEO", affiche "Nom de l'équipement" dans la zone de texte "Équipement".

    Merci pour votre aide,

    Marie

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 427
    Par défaut
    Bonjour j'imagine que tu as les tables suivantes (au moins) :

    une table des équipements :
    CodeEquipement
    NomEquipement
    Autres info nécessaires

    une table des entêtes de pret :
    NumeroPret
    DatePret
    NomClient
    AUtres infos nécessaires

    une table des détails prets :
    NumeroPret
    NumerotDetail
    CodeEquipement
    Autres info necessaires

    Et que pour faire simple tu ne veux pas gérer qu'un équipement est déjà loué et ou brisé donc pas louable.

    Pour ton forumlaire de détail pret la solution la plus simple est une astuce.

    Il te suffit d'avoir 2 listes sélections :
    • 1 pour choisir l'équipement qui te donne son code et son libellé (Nombre de colonnes : 2, largeur des colonnes : 5cm;10cm, largeur de liste : 15.44cm)
    • 1 pour afficher le libelle qui te donne aussi le code et le libellé mais dont le code est masqué :-). (Nombre de colonnes 2, largeur des colonnes : 0; )


    Note pour tes deux listes la source de données et le champ : CodeEquipement.

    Et voilà sans une seule ligne de code tu as le choix de ton équipement par son code ET l'affichage automatique de son nom. Tu pourrais même te servir de la liste qui affiche les noms pour sélectionner un article par son nom.

    Si tu as besoin de plus de détail demande.

    P.S. : Access vient avec des modèles de BD, peut-être y en a-t-il un qui répond à tes besoins sans avoir à faire de développement.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre averti
    Profil pro
    Technicienne en géomatique
    Inscrit en
    Octobre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en géomatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 38
    Par défaut
    Bonjour Marot_r,

    Désolée pour le long délai de réponse, le projet avait été un peu mis de côté, car on m'a suggérer des logiciels opensource qui font déjà la job, mais ça ne me satisfait pas...

    Tout d'abord, pour les deux listes de sélection, j'ai réussi, pour ça c'est correct.

    Ensuite, pour la suggestion de modèle, effectivement je n'y avais pas pensé. J'ai choisi un modèle de gestion de prêt qui me sert de base, mais j'aimerais y ajouter d'autres fonctionnalités.

    Et parmi celles-ci, mon problème d'affichage de valeur selon une valeur choisie dans une liste se pose encore.

    J'ai une table Étudiant, avec Code_UQAR comme clé primaire. Et quand je sélectionne le code_UQAR dans une liste indépendante, j'aimerais que les valeurs des champs s'affiche dans le formulaire (nom, prénom, téléphone, courriel, etc...)

    J'ai déjà fait une programmation de la sorte dans ArcGIS, un logiciel de géomatique qui roule aussi avec Access (en base de donnée externe), mais je ne sais pas comment l'adapter à Access (en fait, je ne suis même pas certaine que c'est du VBA...). Voici le code que j'avais utilisé :

    Merci beaucoup,

    marie!

    (Vu la nature de la question, peut-être que mon sujet serait plus approprié dans la section vba?)

    ----------------------------------------
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
        Dim pWorkspaceFactory As IWorkspaceFactory
        Dim pFeatureWorkspace As IFeatureWorkspace
        Dim pTable As ITable
        Dim pCursor As ICursor
        Dim pRow As IRow
        Dim pQueryDef As IQueryDef
        Dim pQueryfil As IQueryFilter
     
        Set pWorkspaceFactory = New AccessWorkspaceFactory
        Set pFeatureWorkspace = pWorkspaceFactory.OpenFromFile("Erosion.mdb", 0)
     
        Set pQueryfil = New QueryFilter
        pQueryfil.WhereClause = "IDShapefile = '" & iDent & "'"
     
        Set pTable = pFeatureWorkspace.OpenTable("T01_Renseignement")
     
        Set pCursor = pTable.Search(pQueryfil, False)
     
        Set pRow = pCursor.NextRow
     
     
        frmInterfaceFiche.txtOrigineDemande.Text = pRow.Value(pRow.Fields.FindField("OriDemande"))
        frmInterfaceFiche.txtDateVisite.Text = pRow.Value(pRow.Fields.FindField("DateVisite"))
        frmInterfaceFiche.imgSinistre.Picture = LoadPicture(pRow.Value(pRow.Fields.FindField("Photo")))
        frmInterfaceFiche.txtAccompagnateur.Text = pRow.Value(pRow.Fields.FindField("PersRess"))
        frmInterfaceFiche.txtMRC.Text = pRow.Value(pRow.Fields.FindField("MRC"))
     
        Set pTable = pFeatureWorkspace.OpenTable("T02_Site_erosion")
        Set pCursor = pTable.Search(pQueryfil, False)
        Set pRow = pCursor.NextRow
     
        frmInterfaceFiche.txtProprio.Text = pRow.Value(pRow.Fields.FindField("NomProprio"))
        frmInterfaceFiche.txtAdresse.Text = pRow.Value(pRow.Fields.FindField("Adresse"))

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 427
    Par défaut
    UQAR comme dans Université du Québec à Rimouski ?

    La solution la plus simple avec les listes c'est que les éléments qui t'intéressent soient dans la liste. Il n'est pas nécessaire qu'elles soient visibles.

    Dans ton cas je ferai une liste ayant autant de colonnes que je le désire et après sélection je copierai ces infos dans les champs concernés.

    ex avec les colonnes Id, nom, prénom, téléphone, courriel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    me.nom=me.taListe.column(1)
    me.Prenom=me.taListe.column(2)
    me.Telephone=me.taListe.column(3)
    me.courriel=me.taListe.column(4)
    Tu notera que la numérotation des colonnes commence à 0, donc la première colonne est 0, la deuxième est 1 et ainsi de suite.

    Mais dans une base de données on évite de recopier des mêmes données dans plusieurs tables. Je ne connais pas ton appli mais généralement on a la structure suivante :

    Table Etudiant :
    CodeEtudiant
    Nom
    Prenom
    etc...


    Table Inscription :
    CodeCours
    CodeEtudiant

    Ici on ne recopie pas les informations concernant l'étudiant, on conserve seulement son Code. Si on abesoin d'une liste des inscriptions avec le nom de l'étudiant on va faire une requête qui à partir de la table Inscription va par jointure aller chercher le nom de l'étudiant dans la table des étudiants.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre averti
    Profil pro
    Technicienne en géomatique
    Inscrit en
    Octobre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne en géomatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 38
    Par défaut
    Bonjour marot_r,

    Oui... c'est bien à l'université du Québec à Rimouski que je suis!

    Merci beaucoup pour la solution de la liste, ça marche effectivement très bien, et je l'utilise un peu partout dans mon application!

    Problème résolu! Next...

    Merci encore!

    Marie!

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

Discussions similaires

  1. Changer la valeur d'une variable selon une date donnée
    Par RabzorGT dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/01/2015, 11h56
  2. Réponses: 3
    Dernier message: 23/04/2014, 18h04
  3. Réponses: 1
    Dernier message: 21/01/2011, 11h17
  4. TRIGGER - définir la valeur d'une colonne selon une autre
    Par gmonta31 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 19/04/2008, 04h55
  5. Réponses: 12
    Dernier message: 12/09/2007, 17h28

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