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

VBA Access Discussion :

Récupérer le nom d'une table


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut Récupérer le nom d'une table
    Bonjour à tous,

    Dans mon logiciel je choisi dans une liste déroulante la base à chargée. Ensuite l'application redémarre avec la bonne base chargée. J'aimerai affiché dans un Label le nom de la base connectée mais je n'y arrive pas à cause du redémarrage de l'application.

    si quelqu'un a une solution...



  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    bonjour,,

    tu stock le nom de la base dans une autre table et à l'ouverture du charge le contenu de ta tabledans l'affichage.

    Frogs

  3. #3
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    je suis chiant mais est ce la seule solution ?

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    je suis chiant mais est ce la seule solution ?
    Non !

    2 lignes de VBA...

    Ne pas oublier de remplacer tblUneTable par une table de tes dorsales...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim CheminCompletDorsale As String
    
    'Recherche le nom du répertoire dans lequel est installée la base de données dorsale
    CheminCompletDorsale = CurrentDb.TableDefs("tblUneTable").Connect
    CheminCompletDorsale = Right(CheminCompletDorsale, Len(CheminCompletDorsale) - InStr(1, CheminCompletDorsale, "DATABASE=") - 8)
    
    MsgBox CheminCompletDorsale
    Domi2

  5. #5
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup
    Cela marche
    mais j'aimerai comprendre le fonctionnement de cette ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CheminCompletDorsale, Len(CheminCompletDorsale) - InStr(1, CheminCompletDorsale, "DATABASE=") - 8)
    Merci d'avance

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    La première instruction attribue à la variable une valeur du type ";Database=C:\..."

    Instr renvoie une valeur de type Variant (Long) indiquant la position de la première occurrence d'une chaîne à l'intérieur d'une autre chaîne.

    On compare donc la chaîne initiale avec "Database=". On obtient 2.

    Ensuite on détermine avec Len la longueur de la chaîne à récupérer à partir de la droite avec la fonction Right, soit la longueur totale de la chaîne - 2 caractères - 8 caractères ("Database=" ayant 10 caractères).

    Pour plus d'info, tu peux l'aide sur ces trois fonctions, c'est assez complet.

    Domi2

  7. #7
    Membre du Club
    Inscrit en
    Février 2008
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 110
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup en tous cas !

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

Discussions similaires

  1. récupérer le nom d'une table
    Par PUARAI dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/01/2010, 16h57
  2. Réponses: 1
    Dernier message: 12/01/2010, 22h18
  3. Récupérer le nom d'une table à la volée
    Par JuJuLaTordue dans le forum SQL
    Réponses: 16
    Dernier message: 08/04/2008, 16h45
  4. Récupérer le nom d'une table dans une fonction
    Par Milo59000 dans le forum SQL
    Réponses: 5
    Dernier message: 13/02/2008, 15h40
  5. Récupérer le nom d'une table
    Par romulus67 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/01/2008, 13h59

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