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

Modélisation Discussion :

Créer une codification automatique en fonction du produit [AC-2002]


Sujet :

Modélisation

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Créer une codification automatique en fonction du produit
    Bonjour,

    Je suis en train de mettre en place via Access, la gestion de mon matériel médical utilisé par les ergothérapeutes et kiné de l'hopital ou je travaille.

    J'ai 5 grandes familles de matériel :

    - Aides techniques à la marche
    - Fauteuils roulants
    - Matériels prévention escarres
    -...

    Pour chq famille j'ai créé une table qui s'alimente par son formulaire (chq matériel demandant des informations différentes)

    Mon souhait serait de créer un identifiant interne automatique (qui sera physiquement sur le matériel) et me permettra lors de maintenance/réparation sur le matériel ou de changement d'affectation de patient, de rappeler simplement mon matériel pour mettre sa fiche à jour.

    Exemple : un déambulateur fait parti de la famille des Aides Techniques à la Marche donc identifiant interne : ATM-DEA-00001

    Mon problème c'est que je ne vois pas du tout comment transcrire ca sur Access?? Pouvez-vous m'aider?

    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 70
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Vous auriez peut être intérêt à ne créer qu'une seule table en ajoutant un champ type de matériel et à jongler ensuite sur un ou plusieurs formulaire en n'affichant que les champs concernés par le type de matériel. cela vous permettrait de mettre en place un champ numero automatique que vous reprenez ensuite dans votre numérotation

    Autre solution : créer une table avec un champ numero auto et un champ numero de materiel indépendante qui s'alimente à chaque fois que vous créez un nouveau matériel ce qui vous donne un nouveau numéro que vous récupérez alors dans la table concernée

    Autre solution : créer une requête union qui récupère tous les n° créés et par une petite routine ajouter +1 au max trouvé pour créer un nouveau n°
    exemple ci joint

    mais l'idéal et le plus simple reste la table unique avec plusieurs champs utilisable en fonction du type de matériel

    bon courage

    François
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip bd1.zip (21,2 Ko, 247 affichages)

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 709
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 709
    Points : 57 346
    Points
    57 346
    Billets dans le blog
    41
    Par défaut
    bonsoir,

    Si je puis me permettre une intervention

    Citation Envoyé par FHDLB Voir le message
    ...mais l'idéal et le plus simple reste la table unique avec plusieurs champs utilisable en fonction du type de matériel.
    Le plus simple car le formulaire possède une source unique, je le conçois bien…
    Mais de là à dire que c’est l’idéal, comme toute chose… ça dépend.

    Supposons que chacune des 5 familles de matériels possède un nombre de champs identiques (disons 5 champs à saisir par famille avec aucun champ commun à plusieurs familles).
    Avec une table unique, chaque ligne aura 80% de ces champs à NULL (seulement 5 champs à saisir sur 25 pour chaque ligne de la table).
    Soit un taux de remplissage de la table de 20%. C’est pas une table, c’est un gruyère…

    Vous me direz que pour une faible volumétrie, tout ça peut rester transparent pour l’utilisateur (utilisateur qui a l’habitude de travailler avec une bande de Null au bureau de toute façon).

    Toutefois, que se passerait-il si le modèle devait évoluer ?
    Imaginez qu’on veuille associer deux types de matériels, du style : MaterielPrevention------assembler sur-------FauteuilRoulant (pure imagination de ma part hein !).

    Avec une table unique, vous auriez à gérer une magnifique association réflexive (Materiel----assembler sur----Materiel) avec un peu de codage histoire de contraindre la base à ne pas associer des pommades à un fauteuil roulant.

    Pas si simple…

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    je ne suis également pas partisan d'une table unique dans un cas de figure pareil.
    on peut affecter une référence dans chaque table du moment qu'on lui met un préfixe lié et unique à la table et en l'associant à un numéro auto on aura bien un clé primaire unique.

    exemple - mettre un champ identifiant dans la table après un champ qui sera renseigné pour instancier le n° auto et lui mettre sur son évènement après mise a jour le code suivant :
    par exemple sur un champ nommé Type.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TYPE_AfterUpdate()
    Me.Identifiant = "ATM-DEA-" & Format(Me.N°, "00000")
    End Sub

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 709
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 709
    Points : 57 346
    Points
    57 346
    Billets dans le blog
    41
    Par défaut
    Bonsoir LE VIEUX,

    Si vous entendez par "n° auto" que le champ [N°] est de type NumAuto, ce ne serait pas un peu dangereux ?
    Une suppression malencontreuse d’un matériel dans la base et le N° est définitivement brûlé. A la restauration de la ligne effacée, le matériel correspondant aura changé de numéro.

    Si par "n°auto" vous entendez une numérotation automatique mais gérée par code VBA, … alors considérez que je n’ai rien dit.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour à vous

    Pr commencer, merci de vous interesser à mon cas.
    Comme vous devez vous en douter je ne suis pas un expert d'Access.

    Pour le choix de la "table unique" ou "multi-table", je considère que cela est plus simple à gérer en multi. J'essai au maximum d'automatiser la saisie notamment via des menus déroulants en liste restreinte. Cela évite la saisie d'un même matériel de façon différente (pb rencontré sur une base autre existante à mon boulot). Je ne serai pas l'utilisateur principal de cette base. Et au vu de mes compétences, je trouve ça plus simple en multi... (je me trompe peut-etre).

    La proposition de "Le vieux" me plait bien mais une chose me pose pb :

    - mon identifiant à la forme suivante :
    les 3ers caractères correspondent à la famille
    les 3 suivants correspondent au matériel
    ensuite je veux incrémenter un n° auto type "0001"

    ce qui donne pour un déambulateur de la famille aide technique à la marche :
    ATM-DEA-0001

    mais pour un rollator (déambulateur avec roue) cela donnera :
    ATM-ROL-0001

    Dc le préfixe lié ne pourra être que "ATM", comment je peux faire pr qu'il adapte son numéro en fonction du matériel...surtt que le VBA pour moi c'est pas très concret, je ne connais pas les termes et la syntaxe...

    Je voulais vous joindre ma base mais elle est depasse les 512 ko... Y'a un moyen que je vous la fasse suivre différement?

    Merci encore d'avoir pris le tps.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    peut-être une nomenclature comme celle-ci:

    Code Famille - Code Type - n° Matériel (-Code SousType)
    Exemple:
    ATM-DEA-0001
    ATM-DEA-0002-ROL

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Après reflexion, je me rend compte que la 2eme partie de mon id n'est pas tres utile et me complique surtout bcp la tache.

    Je suis parti sur l'option suivante :

    id= initiale famille + code numérique "00000"
    soit pour mon rollator faisant partie de la famille Aide Technique à la Marche : ATM-00001

    Je suis parti de l'idée de FHDLB avec la création d'une requête qui recherche l'id max.
    j'ai créé un formulaire "ATM_num_interne" à partir de cette requête qui m'affiche le dernier id saisie.
    Mtnt dans mon formulaire "ATM_fiche_inventaire", j'ai intégré un bouton relié au formulaire "ATM_num_interne". Cela me permet de visualiser facilement le dernier id saisie. malheureusement la saisie de l'id se fait manuellement, enfin presque car grace à Le Vieux j'ai intégré un préfixe. Il reste juste à saisir la partie en chiffre...

    Je pense qu'il est possible d'intégréer un automatisme du style generation de l'id sur le formulaire "ATM_num_interne" dont le résultat s'incrirai dans l'id du formulaire "ATM_fiche_inventaire".
    Je crois d'ailleurs que c'etait votre idée FHDLB?

    vous remerciant

  9. #9
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Bonsoit à tous,
    Salut f-leb, j’avoue que je ne me suis pas trop occupé, au niveau de dev où on en été des conséquences, il faudrait en connaitre un peu plus sur la suite, la nécessité des liaisons, des modifs ou non en cascade. Il est probable que la solution par dmax soit la bonne, à voir. Je joins une table pour que notre ami djodjo51 avance un peu.
    Salut djodjo51, je me suis un peu éloigné, regardes ce que tu peux tirer de l’exemple ci-joint.
    Fichiers attachés Fichiers attachés

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut envoi de mon avancement
    Bonjour tout le monde,

    Merci Le vieux pour votre envoi. Je regarde ca.
    Voici la ou je suis arrivé aujourd'hui. (j'ai enfin reussi à compresser ma base correctement, on fais pas ce qu'on veut en TSE-client léger...)

    Dites moi ce que vous en pensez?

    Bonne journée et surtout bonne fin d'année... Bah oui on fete tjs la nouvelle mais on ne dit jms un mot sur celle passée...
    Fichiers attachés Fichiers attachés

  11. #11
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    un peu mieux adapté à ton projet :

    j'ai fait vite il y a peut-être des bugs, mais ce n'est que pour t'inspirer.
    et comme on dit en provence "Bon bout d'an"

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour tt le monde et bonne année 2010.

    J'ai reussi à créer ma codification automatique dans mon formulaire.
    Pour cela je suis reparti de ma requete de recherche de mon id max saisi. et à l'intérieur de celle ci je lui ai fait calculé l'id n+1.
    Ensuite j'ai intégré dans mon formulaire la fonction Dlookup sur le chams ID et voila le tour est joué...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub id_Enter()
    If DLookup("Expr1", "[ATM_num_interne]") = "ATM-" Then
    id = "ATM-00001"
    Else: id = DLookup("Expr1", "[ATM_num_interne]")
    End If
    End Sub
    Bon je fais mon malin mais j'ai passé 2 jrs la dessus et je ne sais pas si cela sera fiable dans le tps avec l'utilisation...

    En tout cas merci à vous et surtout le vieux pour vos conseils et aides...

    Bye

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

Discussions similaires

  1. Créer une liste automatiquement du top 10 des occurences
    Par fomy dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/06/2008, 13h29
  2. Créer une référence automatiquement
    Par FCL31 dans le forum IHM
    Réponses: 1
    Dernier message: 18/12/2007, 14h04
  3. créer une analyse automatiquement
    Par pcappell dans le forum HyperFileSQL
    Réponses: 4
    Dernier message: 04/05/2007, 17h04
  4. Réponses: 6
    Dernier message: 17/08/2006, 09h40
  5. Sous-formulaire créer une saisie automatique
    Par Mimi-des-îles dans le forum Access
    Réponses: 2
    Dernier message: 23/02/2006, 14h47

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