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 :

Après suppression d'un champ père, les fils sont perdus?


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Apprenti GEII
    Inscrit en
    Janvier 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti GEII
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 83
    Points : 109
    Points
    109
    Par défaut Après suppression d'un champ père, les fils sont perdus?
    Bonjour le forum!

    Voilà même si je commence à me faire à access, je sèche sur quelquechose... Une fois de plus!

    Donc j'ai un formulaire avec une liste déroulante qui va définir les informations données par un sous formulaire (Recherche opérateur => donne sa liste d'outils)
    Cependant j'ai créé des boutons qui permettent de modifier les données de l'opérateur (ligne, poste ect) d'en créer un ou d'en supprimer un en un clic (supprime celui selectionné par la liste déroulante).
    Tout le monde est content avec ça c'est bien pratique, mais subsiste un problème:

    Si l'opérateur avait encore des outils dans sa boite, que faire pour qu'access le voit avant, pendant, voire après la suppression et éventuellement lui faire demander une transaction pour un opérateur encore existant? Puisqu'une fois l'opérateur supprimé, les outils restent à son nom, et tombent dans les oubliettes (impossible de les retrouver à part avec la table)

    des idées? des précisions? des pistes?

    Passez une bonne journée!

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    PierrotMfff,

    Dans un premier temps, ton modèle souffre d'une faille. Tu n'as donc pas mis en place les règles d'intégrité référentielles. Dans ce cas la suppression d'un opérateur t'aurais jeté avec un message du type : impossible de supprimer l'enregistrement, des enregistrements dans la table....

    Du coup, les opérations d'intégrité sur ta base sont supposées être géré par ton code, ou ton ihm.

    Pour revenir à un exemple, c'est comme si je supprime l'entête de la facture (nom du client, numéro) sans supprimer les actes. Et ensuite se demander à quelle facture se rapporte ses actes...

    Donc si tu souhaites conserver les informations de la table opérateur avec les outils, mais ne plus les afficher sur le formulaire il faut procéder à ce qu'on appelle une suppression logique (dans de nombreux systèmes de gestion on utilise un booleen permettant de flager : exemple client décédé), cela permet de conserver l'information mais de ne point la supprimer (dans ce cas la relation est intègre !).

    Autre solution est de constituer une table archive en conservant l'intégrité de tes relations (quitte à édulcorer le nombre de champs).

    JimBoLion

  3. #3
    Membre régulier
    Homme Profil pro
    Apprenti GEII
    Inscrit en
    Janvier 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti GEII
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 83
    Points : 109
    Points
    109
    Par défaut Re
    Bonjour et merci de ta réponse!

    Hum en effet il n'y a pas de suppression en cascade...
    En fait si un opérateur n'opère plus et qu'il n'a plus de raison d'être dans la base, la suppression est pratique, mais ça ne veut pas dire que les outils disparaissent, ils peuvent servir à d'autres, j'ai pensé à un opérateur que j'appellerai stock, et grace à je ne sais quelle fonction qui scanne les outils ayant des assignations qui ne sont pas dans la table T_IdOp, renvoyer tout les outils seuls dans ce stock, c'est possible?

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    PierrotMfff,

    Pas de soucis, c'est donc une erreur de conception...

    Reprenons notre cas d'une gestion de stocks (adaptés à une gestion de chantier).

    Le matériel est affecté à un chantier mais lorsque ce chantier est terminé je récupère le matériel et le ré-affecte à un autre chantire. Si je supprime de ma table un chantier, je ne supprime pas le matos.

    Donc pour toi une table operateurs (id_operateur, nom...)
    une table outils (id_outil,....)
    une table dotation (id_operateur, id_outil, date_debut, date_reprise...)

    ainsi la table outils reste disponible. Pour aller plus loin une table de mouvements permet de gérer les disponibilités de chaque outil...

    JimBoLion

  5. #5
    Membre régulier
    Homme Profil pro
    Apprenti GEII
    Inscrit en
    Janvier 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti GEII
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 83
    Points : 109
    Points
    109
    Par défaut Re
    Merci de ton aide!

    Je pense que c'est aussi une erreur mais je n'ai qu'une table T_IdOp (matricule, nom, prenom..)
    puis une table T_Outils (AssigneA, Type, Ref/Marque,...)

    Et les assignations se font directement sur l'outil, et on peut les changer au fur et à mesure grâce à du VBA.

    Donc je ne peux pas créer une fonction qui sur click du boutton de suppression, trouve les outils dans T_Outils qui ont le NomPrenom de l'opérateur concerné, puis assigner ces champs aussi nombreux qu'ils soient à "l'opérateur" Stock?

    Peut être avec un Dlookup, je veux juste mettre ça en stock, pas de message du genre il reste 8 outils voulez vous ect... Juste changer le champ AssigneA des outils concernés en texte: Stock

    J'essaie de faire un programme je tiens au courant de l'avancement

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    PierrotMfff,

    Avant de faire une modification du programme, ne pense tu pas reprendre ton modèle ?
    Si tu en es au début du projet, cela vaut le coup...

    Cas échéant, envoie moi une copie de tes relations, afin de voir quelles sont les modifs que l'ont peut apporter sans trop impacter le développement actuel ?

    Regarde ce sujet ou j'ai traité de cette problématique (peu importe le projet lui même, il y a un pdf expliquant le processus), la fameuse gestion de chantiers...

    @++


    PierrotMfff

Discussions similaires

  1. 1 champ père - 2 fils ?
    Par yieiii dans le forum Modélisation
    Réponses: 5
    Dernier message: 20/08/2010, 23h55
  2. [AC-2003] Formulaire sous-formulaire champs père et fils
    Par lio33 dans le forum IHM
    Réponses: 2
    Dernier message: 16/03/2010, 18h19
  3. Réponses: 1
    Dernier message: 29/03/2009, 19h10
  4. 2 champs père et fils dans la même table
    Par titomiss dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2007, 17h18
  5. Treeview et tables avec 2 champs Père et fils
    Par BEN NASR dans le forum Delphi
    Réponses: 4
    Dernier message: 14/05/2007, 17h48

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