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

Requêtes et SQL. Discussion :

Suppression et création de lien entre deux tables


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 232
    Points : 114
    Points
    114
    Par défaut Suppression et création de lien entre deux tables
    Bonjour,
    Malgré mes recherches, je ne trouve pas la solution à mon problème que voici

    A partir de fichier d'extraction xls, j'ai créé une table qui est liée avec une autre
    Régulièrement, je souhaite mettre à jour la table extraite, mais je ne peux pas le faire car cette table étant liée, la requête de création de table m'interdit cette nouvelle création

    Je souhaiterais donc pouvoir avant de recréer cette table, supprimer la relation, puis la recréer après création
    Est-il possible de créer un module permettant de lancer cette manipulation
    Merci

  2. #2
    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
    Bonjour,

    C'est possible, mais à mon avis, le plus simple est de :
    1- Importer les données du fichier Excel dans une table temporaire.
    2- Vider les données de la table (ça ne rompt pas la liaison).
    3- Rajouter les données de la table temporaire vers la table définitive.
    Facilement automatisables en fait.

    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

  3. #3
    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.

    Généralement on essaye d'éviter la création/recréation de table dans une base de données surtout si on a des relations entre ces tables.

    La méthode habituelle pour faire cela est d'avoir une table temporaire où les données sont importées. Les étapes sont les suivantes :
    1. Vider la table temporaire
    2. Remplir la table temporaire avec les données.
      Cette table est habituellement esseulée sans relation avec d'autres tables. Il n'y a donc pas de conflit de données au moment du chargement.
    3. Si besoin : modifier les données de la table permanente en fonction de celles de la table temporaire.
    4. Si besoin : supprimer les données de la table permanente qui ne sont pas dans la table temporaire.
      Si tu as des relations, cela peut impliquer la suppression des éléments en relation.
      Personnellement je préfère rendre "inactifs" mes enregistrements plutôt que de les supprimer. J'ai un champ booléen (oui/non) appellé EstActif que je mets à Faux.
    5. Si besoin : ajouter les données de la table temporaire qui ne sont pas dans la table permanente.
    6. Vider la table temporaire


    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.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 232
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    C'est possible, mais à mon avis, le plus simple est de :
    1- Importer les données du fichier Excel dans une table temporaire.
    2- Vider les données de la table (ça ne rompt pas la liaison).
    3- Rajouter les données de la table temporaire vers la table définitive.
    Facilement automatisables en fait.

    Cordialement,

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 232
    Points : 114
    Points
    114
    Par défaut
    merci pour ces réponses, j'ai effectué les opérations comme décrites, cela correspond bien à mon besoin
    merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/10/2011, 16h14
  2. [AC-2007] Assurer le lien entre deux tables liées lors de la création d'un enregistrement
    Par dudul08 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/04/2011, 22h19
  3. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 14/12/2005, 19h42
  4. [MySQL] Lien entre deux tables
    Par ept35 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/11/2005, 13h56
  5. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15

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