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 :

Créer boite dialogue choix fichier txt pour créer table liée


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Créer boite dialogue choix fichier txt pour créer table liée
    *Bonjour*

    Après recherches dans les FAQ, j'ai trouvé comment renvoyer un chemin d'accès par boite de dialogue utilisateur, mais pas comment "coller" ce chemin d'accès pour qu'il soit utilisé par le gestionnaire de tables liées pour mettre à jour la liaison d'une table liée déterminée, déja existante.
    Dans l'idéal, l'utilisateur va sélectionner dans une boite de dialogue le fichier concerné dans l'arborescence de son dique dur, et cette sélection met à jour la liaison de la table au fichier txt sélectionné. La table liée a déja été créée avant, avec notemment le schéma d'importation de morceaux de texte séparé par des points virgules, vers des champs déterminés de la table en question.
    Une variante qui m'interresserait aussi :
    Sur "acceptation" de l'utilisateur, un "code" va chercher le fichier txt en question en reconnaissant la première partie de son nom (sans la date qui est ajoutée après underscore en fin de nom), el sélectionne dans le disque dur et utilise son chemin d'accès pour mettre à jour la liaison.
    J'espère avoir été assez clair... Merci par avance à tous !

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonsoir,

    Voici un bout de code qui met a jour les liaisons dorsale/frontale à partir des infos contenues dans un fichier texte. Si j'ai bien compris tu peux t'en inspirer pour mettre à jour une liaison vers ton répertoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    '******************************* LIEN AVEC LA DORSALE
    'outil de gestion de config des tables liées
    'il faut un fichier planet.ini qui peut se générer avec la procedure cree_ini
    Public Sub maj_liens(nouveau As Boolean)
    Dim rst As Recordset
    Dim vt As String 'version table
    Dim FSO As New Scripting.FileSystemObject
    Dim FileText As Scripting.TextStream
    Dim TableEnCours As TableDef
    Dim Table As String, lien As String, T As String
     
    'Pour chaque table de planet.ini recrée le lien (ce n'est long que s'il change)
    Set FileText = FSO.OpenTextFile(Application.CurrentProject.path & "\planet.ini")
    While Not FileText.AtEndOfStream
        Table = FileText.ReadLine
        lien = Mid(Table, InStr(1, Table, "=") + 1, 99)
        Table = Left(Table, InStr(1, Table, "=") - 1)
        vt = Mid(lien, InStr(1, lien, "#") + 1, 9)
        lien = Left(lien, InStr(1, lien, "#") - 2)
     
        For Each TableEnCours In CurrentDb.TableDefs
          If TableEnCours.SourceTableName = Table Then
            T = Left(TableEnCours.connect, InStr(1, TableEnCours.connect, "BASE=") + 4) & Application.CurrentProject.path & "\" & lien
            'MsgBox TableEnCours.connect & Chr(13) & T
            If T <> TableEnCours.connect Then
              TableEnCours.connect = T
              TableEnCours.RefreshLink
       '       MsgBox "Mise à jour du lien de la table " & Table & " vers " & TableEnCours.connect
            End If
          End If
        Next
    Wend
    FileText.Close
    Set FSO = Nothing
    End Sub
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup nico84, je vais essayer d'architecturer qq chose avec ce code, mais à mon rythme, je suis débutant !.. Je vous tiendrai au courant des éventuelles difficultés que je rencontrerai sûrement.
    Si qqu'un a une solution plus globale, je suis aussi preneur !

Discussions similaires

  1. Créer un fichier txt pour coller un texte word
    Par Jolie_Turandot dans le forum VBA Word
    Réponses: 9
    Dernier message: 16/09/2013, 02h33
  2. Réponses: 4
    Dernier message: 02/09/2013, 08h51
  3. Prob pour créer 2 blocs contigus avec txt aligné en bas
    Par Greg12345 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 24/05/2010, 17h32
  4. Réponses: 18
    Dernier message: 11/05/2007, 19h35
  5. Créer une série de fichiers .txt
    Par Aymeric.vie dans le forum MATLAB
    Réponses: 5
    Dernier message: 02/03/2007, 14h29

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