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

Access Discussion :

Tester l'existence d'une table avec une requête


Sujet :

Access

  1. #1
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut Tester l'existence d'une table avec une requête
    Bonjour

    Je travaille sur un programme Delphi et j'aimerai savoir si c'était possible de tester l'existence d'une table sous Access par le biais d'une requête SQL.
    J'ai vu dans la FAQ que ca se faisait avec VB mais moi je suis sous Delphi
    Je sais que sous SQL server s'est possible de tester avec une requête, qu'en est-il avec Access ?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Je ne connais pas Delphi.
    Toutefois, il semble que tu puisses exploiter DAO avec Delphi.
    De ce fait, tu peux lancer une requête sur une table donnée à travers une gestion d'erreurs. Si une erreur survient, tu peux la transcrire avec une table de correspondance DAO Errors et en l'occurence la 3078 :celle d'une table inexistante.

    Argy

  3. #3
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    c'est ce que j'ai pensé faire en utilisant les exceptions mais malgré que ca fonctionne j'ai un message d'erreur que je n'arrive pas à expliquer et je me suis dit qu'on pouvait peut être le faire avec une requête SQL comme sous SQL Server.
    Comme apparemment ca n'est pas possible avec une requête je met donc mon sujet en délestage et j'attend donc des réponses dans le forum delphi & bdd.
    Merci pour ton aide quand même

  4. #4
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    Je pense qu'une des réponses à ta question serait de faire une requ^te sur la table MSysObjects de ta base access.

    En effet cette table system cachée (que tu peux affiché grace à Outils->Options->Affichage->Objets System) contient la liste de tous les objet de ta base Access.

    Ainsi en recherchant le nom de ta table dans la colonne "Name" et pour le "type"=1 (Table) tu verra s'il elle existe ou pas.
    Pas de gestion d'erreur à gérer
    mais une simple clause SQL qui retourne ou non un enregistrement !

  5. #5
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    super !
    Je ne savais pas qu'il existait cette table sous Access et finalement il faut procéder de la même façon que sous SQL Server.
    Je teste ça, merci en tous cas !

  6. #6
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    la requête fonctionne très bien sous Access mais pas sous Delphi !
    J'ai un message me disant que je n'ai pas les droits en lecture sur cette table.
    Existe-t-il un moyen de contourner ça ?

  7. #7
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    finalement j'ai résolu mon problème avec l'autre méthode (gestion des exceptions). Merci quand même pour l'aide !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2015, 16h10
  2. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  3. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  4. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50
  5. Réponses: 6
    Dernier message: 30/08/2007, 16h47

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