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

Langage SQL Discussion :

[Access] Comment s'avoir s'il existe une relation entre 2 tables ?


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut [Résolu] [Access] Comment s'avoir s'il existe une relation entre 2 tables ?
    Bonjour,
    bin je crois que tout est dans le titre, en fait je voudrais savoir comment l'on peut faire pour savoir s'il existe une relation entre 2 tables pour pouvoir dans le cas contraire supprimer la table.

    Voila j'espère que vous pourrez m'aider .

  2. #2
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    Peut tu préciser ton SGBD?
    Et en comparant les champs de tes deux tables tu vois pas si y'a une relation?

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    Alors je travail sous access.

    Et je ne sais pas du tout comment faire pour voir s'il y a une relation.

  4. #4
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    la façon la plus basique c'est de regarder en parallèle le contenu de tes deux tables en parallèles!

    Ou alors tu peut faire ue requête du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table1 intersect select * from table2
    Je ne me souviens plus si le intersect fonctionne sous access mais si il fonctionne ça te donnera toute les valeurs qui sont à la fois présentes dans ta table1 et dans ta table2

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par hacksi
    Bonjour,
    bin je crois que tout est dans le titre, en fait je voudrais savoir comment l'on peut faire pour savoir s'il existe une relation entre 2 tables pour pouvoir dans le cas contraire supprimer la table.

    Voila j'espère que vous pourrez m'aider .
    En général, ce n'est pas au moment de la suppression de l'enregistrement qu'il faut s'inquiéter de connaître les dépendances ... ?

    Tu n'as pas accès au schéma ?

    - Si oui, encapsule la suppression dans une procédure à qui tu délégueras la suppression des enregistrements liés avant la suppression de ton enregistrement,
    - Si non, demande-le ...
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  6. #6
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    Alors en fait j'ai une procédure qui dans un premier temps construit les tables (et les suppriment avant de les créer si elles existent déjà), puis remplie les tables puis créer les relations entre les tables. Mais le problème, c'est que avant de pourvoir s'il le faut supprimer les tables, il faut déjà que je supprime les relations. Et le truc c'est comme c'est une procédure qui est encore en phase de développement, des fois elle fonctionne et des fois elle plante donc comme la procédure plante des fois avant la création des relations bin des fois elles existent et des fois elles n'existent pas donc je voudrais pouvoir détecté celà automatiquement.

  7. #7
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Si tu en es à la phase de conception de ta BDD, c'est simple : la procédure de suppression des contraintes et des tables doit suivre exactement l'ordre inverse de ta procédure de création de table et de contraintes.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    Oui mais le problème c'est que si j'exécute la procédure à un instant t les relations peuvent exister et que à un instant t+1 les relations peuvent ne plus exister car lors de l'exécution de l'instant t la procédure à planté.

  9. #9
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    C'est un simple problème de gestion d'erreur : si la procédure rencontre une erreur en essayant de supprimer un objet qui n'existe pas, ignore-là : En VB, il suffit d'une simple clause "On Error Resume Next" en début de procédure, qui fera certainement frémir plus d'un développeur averti, mais dans cas précis d'utilisation, ça ne devrait pas choquer grand monde ...
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  10. #10
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 101
    Points
    101
    Par défaut
    Merci en utilisant On Error Resume Next celà fonctionne

Discussions similaires

  1. comment créer une relation entre 2 table?
    Par giguoin dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/04/2010, 14h31
  2. Comment établir une relation entre deux tables
    Par Monta^^ dans le forum Hibernate
    Réponses: 15
    Dernier message: 30/04/2009, 19h54
  3. Supprimer et créer une relation entre deux tables
    Par bassiste dans le forum Administration
    Réponses: 1
    Dernier message: 18/07/2008, 20h20
  4. Récupérer le code d'une relation entre des tables
    Par ClaudeLELOUP dans le forum VBA Access
    Réponses: 8
    Dernier message: 23/05/2008, 17h51
  5. Réponses: 6
    Dernier message: 23/12/2007, 14h06

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