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 :

Bouton "+" [AC-2013]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Bouton "+"
    Bonjour je voulais savoir s'il était possible sous Access 2013 de créer un bouton "+" qui rajouterai un champ sur click.

    Exemple: Quel est votre/vos nationalités ?

    Si j'en ai plusieurs, alors je click sur le bouton "+" pour rajouter un nouveau champ text et saisir ma nième nationalité.

    En vous remerciant de votre aide.


  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    À priori, tu ne devrais pas avoir ajouter un champ mais un enregistrement.
    Et ça Access le fait tout seul en appuyant sur le bouton qui ressemble à [>*] en bas à gauche de ta fenêtre de saisie.

    On peut faire l'ajout de champ par code, c'est un peu complexe et c'est habituellement le signe qu'on gère sa BD Access comme une feuille Excel.
    Ce qui est généralement une mauvaise idée.

    La structure recommandée de ta BD devrait être la suivante :

    tblPersonne
    ClefPersonne
    Info sur la personne (ex : Date de naissance)

    tblNationalite
    ClefNationalite
    Description

    tblAssPersonneNationalite
    ClefAssPersonneNationalite
    ClefPersonne
    ClefNationalite

    Cette structure permet d'avoir autant de nationalités que tu le veux et de t'assurer que l'orthographe des nationalités est le même tout le temps.
    Elle permet aussi de faire des chose sympas comme sortir toutes les personnes d'une certaine nationalité directement, ou les personnes qui ont plusieurs nationalités.

    Une version moins contraignante est :

    tblPersonne
    ClefPersonne
    Info sur la personne (ex : Date de naissance)

    tblAssPersonneNationalite
    ClefAssPersonneNationalite
    ClefPersonne
    Nationalite

    Là les personnes peuvent facilement entrer une nationalité que tu n'as pas prévu. (on peut aussi le faire avec la version précédente mais il faut faire du code pour cela).
    Tu t'expose évidement à avoir des orthographes divergentes mais une astuce consiste à proposer une liste déroulante qui reprend toutes les nationalités déjà entrées.
    Elle incite l'utilisateur à choisir dans la liste plutôt que de la taper. Si il ne trouve pas dans la liste, il peut toujours ajouter la sienne.

    Pour l'écran de saisie, tu peux utiliser un formulaire principal pour la personne et un sous-formulaire pour ses nationalités (basé sur tblAssPersonneNationalite).

    Si tu tiens absolument à une saisie en colonne côte à côte, style Excel, dit-le. Il y a quelques astuces qui permettent dans donner l'illusion sans trop de travail.

    En passant, si tu es en France, vérifie avec la CNIL si tu peux collecter les nationalités.
    Ça fait un bon bout de temps que je suis parti et je ne sais plus si c'est considéré comme une donnée sensible ou pas.

    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 à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Bonsoir Marrot,

    Merci pour ta réponse qui est très claire.
    J'ai donné la nationalité comme exemple.
    Voici mon cas réel, dans mon entreprise il y a des fiches qu'on appelle fiches d'exploitation, l'entreprise voudrait les historiser et les mutualisées (exemple : le team leader créé une fiche, un des développeur la modifie et une dernière personne la complète).
    En gros pour un traitement on peut avoir plusieurs flux et pour un tuple (traitement - flux) on peux avoir plusieurs versions avec seulement la dernière version qui est modifiable.

    Jusqu'ici j'ai créé une table avec les champs traitements, flux, version,...... (donc nous avons autant d'enregistrement que de versions).
    J'ai galéré mais je me suis arrange avec les recordset en vba pour faire correspondre le tout (remplissage des champs, bouton pour atteindre l'enregistrement suivant....).

    Mais voilà, cette fois pour un tuple traitement, flux, version, on peut avoir plusieurs Run CTL et m'a Team Leader me demande une solution avec une sorte de bouton +.
    Votre réponse a été très claire, cependant je me permet de vous demander la solution type Excel que vous envisagiez, et j'aimerai surtout votre avis sur la conception, à savoir que si il y a de très bons arguments ma Tleader ne pourra que se plier.

    Merci énormément de votre aide et votre réactivité, vraiment !

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Mais voilà, cette fois pour un tuple traitement, flux, version, on peut avoir plusieurs Run CTL et m'a Team Leader me demande une solution avec une sorte de bouton +.
    Votre réponse a été très claire, cependant je me permet de vous demander la solution type Excel que vous envisagiez, et j'aimerai surtout votre avis sur la conception, à savoir que si il y a de très bons arguments ma Tleader ne pourra que se plier
    OK, comme je l'ai dit c'est "à priori" une mauvaise idée mais il y a des circonstances où cela est justifiable.

    Bon, tu pourrais ajouter une nouvelle table pour tes runs à mettre en relation avec tes autres tables.
    Ce serait la solution 3ième forme normale recommandée.
    Mais revenons à ta demande.

    Une solution simple est de faire du préventif, tu crées des champs supplémentaires (ex : 50 champs) et tu ne les affiches que quand tu en as réellement besoin. Soit à main, soit avec une table de paramétrage.
    L'inconvénient c'est tu te retrouves avec des noms de champs qui ne disent pas grand chose sur leur contenu.

    Sinon, en effet tu peux faire du code pour ajouter des champs. La bibliothèque DAO te permet cela ainsi que le SQL.
    Évidement qui dit champ supplémentaire dit modification des écrans de saisie, donc altération des formulaires (et des états) par code VBA puisque Access ne supporte pas des structures dynamiques.
    Et il va falloir bien penser tes requêtes pour qu'elles intègrent les nouveaux champs par défaut (select * from) ou modifier leur SQL comme tu l'as fait pour les formulaires.

    Ici les suggestions d'une discussion sur le même sujet :

    Définition et manipulation de données avec DAO
    http://warin.developpez.com/access/dao/

    Comment créer dynamiquement un contrôle dans un formulaire et lui associer du code VBA sur un événement ?
    http://access.developpez.com/faq/?pa...reeDynCtrlCode
    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 à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Ok merci, j'ai expliqué tout ça et finalement nous avons opté pour une nouvelle table et un nouveau formulaire.

    Merci beaucoup !

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

Discussions similaires

  1. Bouton Recherche dans access
    Par fouf_01 dans le forum VBA Access
    Réponses: 9
    Dernier message: 23/05/2006, 16h34
  2. Bouton insrer dans access Problème
    Par Iobane dans le forum Access
    Réponses: 29
    Dernier message: 26/03/2006, 22h09
  3. Réponses: 3
    Dernier message: 30/06/2005, 12h50

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