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 :

Remplissage automatique d'une Table


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Remplissage automatique d'une Table
    Bonjour à tous,

    Je me tourne vers votre forum car je ne m'en sors pas trop avec mon programme VBA Access ...Je m'explique : l'entreprise pour laquelle je travaille possède plusieurs dizaines de milliers de fichiers répartis classiquement en une immense cascade de dossiers et de sous-dossiers (on dépasse parfois les 255 caractères autorisés dans les chemins d'accès)et je suis chargé de passer tout ceci sur ACCESS. J'ai décidé de n'utiliser qu'une seule table comportant plusieurs champs contenant:
    - le nom du fichier,
    - son chemin complet d'accès,
    - son lien hypertexte,
    - sa taille,
    - son type (excel, word...),
    - et la date de dernière modif.

    Etant (très) débutant sur ACCESS et sur VBA et je parcours depuis plusieurs semaines votre site et d'autres pour tenter donc "d'extraire" ces informations relatives à mes fichiers et les écrire dans une table. Il faudrait seulement que cette table soit mise à jour automatiquement quand on rajoute des fichiers ou dossiers, si possible. Ce n'est pas si simple que je le pensais visiblement!

    J'ai trouvé des bouts de codes tout fait sur un site vraiment pas mal ("Le grenier ACCESS") et j'ai réussi à comprendre comment compter le nbre de fichiers/dossiers dans un dossier spécifié et autres fonctions pas trop dures, mais depuis que je suis tombé sur "Dim rst As DAO.Recordset" ou encore " Set rst = CurrentDb.OpenRecordset(TABLE_FICHIERS, dbOpenDynaset)" je reconnais être...perdu

    Je me suis documenté pendant assez longtemps sur les objets DAO, j'ai fouillé pour comprendre à quoi servait "Set" mais je ne maitrise pas encore tout cela.

    A chacune de mes recherches sur internet, je me rends compte que je mets le doigt sur de nouvelles fonctions et de nouvelles bibliothèques d'accès aux données et je m'embrouille un peu dans tout ça. Je me demandais si vous pouviez m'aiguiller un petit peu?

    Par exemple, est-il indispensable, au vu de la faible complexité de ce que je dois faire, d'utiliser DAO et les RecordSet?
    Je connais un petit peu vos tutoriels que j'ai survolés, mais je bloque souvent sur certains concepts car je ne sais pas trop dans quel ordre m'y prendre.
    Sinon, je précise que j'ai quelques bases sur VBA, de la logique et de la bonne volonté!

    Merci d'avance et bonne journée à tous!

    Guy

  2. #2
    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 et bienvenu dans le monde merveilleux de Access.

    Pour la mise à jour automatique ... autant que je sache c'est impossible.

    Ce qui est possible c'est de faire un balyage régulier des tes répertoires et de recupérer les infos.

    La question que je me pose est : qu'est-ce que Access va apporter de plus qu'un bon outil de recherche de fichiers comme Agent RANDSAK (gratuit).

    Sinon je le ferai en 2 passes :
    1. Pour tous les fichiers déjà reférencés dans la base, vérifier qu'ils sont toujours là.
    2. Pour tous les disques
      Pour tous les répertoires du disque
      Pour tous les fichiers dans le répertoire, ajouter le fichier si il n'existe pas
      Recommencer l'exporation pour tous les sous-repertoires du répertoire (inventaire recursif)


    Aussi avant de te lancer tu voudras peut-être faire quelques tutoriaux pour débutants.

    Pour ta question sur le sens de l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = CurrentDb.OpenRecordset(TABLE_FICHIERS, dbOpenDynaset)
    Set est une instruction qui dit à VBA qu'il va devoir assigner une valeur à un objet.
    C'est un mot reservé de VBA.
    Un objet peut être a peu prêt n'importe quoi (une table, une requete, un formulaire, un rapport, un control dans un rapport, ...).

    dans ce cas ton objet s'appele rst et est de type recordset.
    Un type defini a quel ensemble appartient ton objet. (Par exemple en mathétique 12.25 est un nombre de type réel).
    Tous les objets du même type partagent un ensemble de caractéristiques (appelées "propriété" généralement).
    Un recordset est un ensemble d'enregistrement (ex : tous les enrgistrements d'une table, d'une requête, d'un formulaire).

    CurrentDb est un objet Base de données (DAO.Database) qui représente la base courrante. C'est un objet défini par Access.

    OpenRecordset est un méthode de l'objet database. Une méthode est un action que l'objet peut réaliser. Par exemple, un objet "Voiture" pourrait avoir une méthode "Demarrer".

    TABLE_FICHIERS est probablement une constante figurative qui contient le nom de la table résultat.
    Une constante est une valeur defini qui ne change jamais. Ex : const PI as double = 3.1416 defini une constante nommée PI qui vaut 3.1416.
    Une consante sert habituellement a rendre le code plus lisible. perimetreCercle=2 * 3.1416 * rayonCercle est moins lisible que perimetreCercle= 2 * PI * rayonCercle.

    dbOpenDynaset est un parametre qui defini le type d'opération autorisées sur l'objet recordset. Dans ce cas précis, on peut tout faire sur le recordset. On peut y faire des recherches, se déplacer en avant et en arrières, lire les données qu'il contient, les modifier ou les supprimer.
    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.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Hello,

    concernant le parcours des fichiers dans les dossiers, plusieurs discussions ont abordé ce point, en utilisant la recherche, tu trouveras ton bonheur (et de la lecture )
    http://www.developpez.net/forums/d13...-d-repertoire/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Désole pour cette réponse tardive, j'ai eu beaucoup à faire

    Merci beaucoup pour ta réponse marot_r, très complète, tu m'as eclairci beaucoup de points obscurs en repartant de zéro, et j'en ai besoin parce que je débute carrément

    Sinon, j'ai regardé tes liens, jpcheck, merci aussi, je n'ai pas encore eu le temps de tout parcourir mais je reviens vers vous si vraiment je ne comprends pas certains trucs

    Mais je devrais déjà partir du bon pied là grace à vous, merci encore pour votre réactivité.

Discussions similaires

  1. Remplissage automatique d'une table
    Par AzalTeeb dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2008, 21h55
  2. TreeView - Remplissage recurssif d'une table
    Par lejert dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 21/02/2007, 17h56
  3. recherche automatique dans une table
    Par jesuisjosita dans le forum Access
    Réponses: 3
    Dernier message: 15/01/2007, 11h44
  4. Mise à jour automatique d'une table access via un .xls
    Par infratunes dans le forum Access
    Réponses: 4
    Dernier message: 05/04/2006, 18h33
  5. access remplissage auto d'une table
    Par bjornd dans le forum Access
    Réponses: 2
    Dernier message: 09/11/2005, 08h05

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