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 :

mise à jour d'une base


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 6
    Points
    6
    Par défaut mise à jour d'une base
    Bonjour à tous,
    Comme je n'ai pas envie de perdre mes cheveux trop vite, je fais appel aux pros d'access.
    Je suis en train de développer (enfin j'essaie ) une BDD et je suis confronter à un gros soucis. Cette base sera installée sur plusieurs tablet pc nullement relié par un serveur. Chaque utilisateur pourra enrichir la base de son coté, mais il faut prévoir une sorte de mise en commun des enregistrements nouveaux (genre les regrouper sur un même pc, par exple).
    Comment pourrait se faire ce genre de manip' en évitant les doublons et duplica (of course)? Je pensais créer une macro de mise à jour qui sera ensuite commander par un cmdbutton et fera la maj.
    Gros soucis, c'est la gestion des chemins d'acces (soucis récurents dans ma base). Lors de ma tentative de création de macro, il me demande le chemin d'acces de la table à importer mais le chemin n'est pas le même d'un pc à l'autre (pour faciliter la chose bien sur
    ).
    Voila, est ce que qq'un peut m'éclairer? ou je reste avec mon utopie sous le bras....
    Merci d'avance et félicitation pour cet excellent site
    PS: je suis débutant et pas familiariser au VBA et macro (en plus )

  2. #2
    Membre habitué

    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Points : 127
    Points
    127
    Par défaut
    Bonjour,
    il faut voir du côtés des "réplica". La base de données doit être convertie en réplica
    outils/réplication/crééer un réplica

    mais je n'en sais pas plus, jamais utilisé

  3. #3
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    Nous sommes tous confrontés à cette étape de créer un BD utilisés sur plusieurs postes. Cela semble compliqué !!!

    D'où l'idée de faire plusieurs applications.

    Mais une base de données se conçoit d'abord dans un cadre logique.
    Dans ton application, s'agit il des mêmes données (style les commandes de ma boite) ?
    Si tu réponds oui, il faut qu'il n'y ait qu'une base de donnnées. POINT

    Avec les données sur le serveur, et les applications sur chaque poste (si la boite n'a pas de serveur, et pour éviter les sauvegardes , les partages, les infos qui vont se trouver sur un poste, pas sur l'autre, tu va voir ton supérieur, et tu lui expliques la nécessité informatique de ton projet... je n'ai jamais essayé de hacher de la viande sans hachoir)

    Pour la question des chemins, il y a des tutoriaux ici (tapes dans la recherche de FAQ "attacher" "table")

    La procédure d'attacher une table peut se faire manuellement (j'ai à disposition un tutorial illustré dans un format Word, que je peux aussi mettre à disposition sur developppez), et ne se fait qu'une seule fois lors de la mise en place de l'application sur ton poste.

    essayes ceci: MsgBox Application.CurrentDb.Name sur un bouton formulaire dans ton application
    Application.CurrentDB.Name contient le nom et l'emplacement de ta base.

    ParentDir permet d'avoir le chemin...

    Bon courage
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci des premiers renseignements, ja vais essayer d'être un peu plus précis sur ma question.
    La BDD sera disponible sur plusieurs tablet pc et strictement identique. C'est une base faite pour enregistrer un ensemble de descriptions précises concernant des observations de terrains. La base est conçue sous la forme d'une table principale qui enregistre les renseignements apporter par chaque géologue. Comme cette BDD sera utilisée sur le terrain dans les coins les plus éloignés de toutes civilisations, il n'y aucun serveur disponible.
    Je voudrais créer un module de mise à jour qui consisterai à regrouper l'ensemble des observations de chaque personne sous une Base "maîtresse" qui a exactement la même structure que les BDD utilisées.
    Les ID utilisés sont "Nom de la brèche", " affleurement" et "Photos d'observation".
    Comment faire pour créer une mise à jour qui compare les nouveaux enregistrements et qui les insère automatiquement si les ID sont differents (donc considérer comme nouveau).
    Grâce à caféine, je sais maintenant comment ouvrir une fenetre de dialogue Windows pour récupérer les tables à importer et comparer!!
    Merci d'avance pour vos solutions

  5. #5
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut transfert depuis des bases périphériques
    Effectivement la situation est particulière.

    Il s'agit donc d'importer des données vers la base maitresse.
    Ces données sont différentes d'un géologue à l'autre, il ne peut y avoir 2 fois la même donnée, donc pas de risque de collusion.

    Je verrai bien un module de transfert, qui vide les données de la base périphériques et les transfère vers la base maitresse.
    Ensuite soit tu vides la table périphérique des données transférées, soit si tu preferes les conserver, tu ajoute dans ta table, un flag (item à oui ou non) qui t'indiquera que le transfert a été réalisé.
    (petite requête de mise à jour, à déclencher après le transfert)

    Dans ta base périphérique, tu peux créer une requête reprenant les items de la table a transférer, mais avec une selection qui ne fait apparaitre que les enregistrements, non encore transférés.

    ET c'est cette requête que tu importes et non la table elle même.

    Qu'en penses tu ?

    Patrick

    PS à la place d'un flag oui/non tu peux peaufiner en mettant un champ date, et la requête de sélection sélectionnera les enregistrements dont la date n'est pas renseignée. puis une requête mise à jour qui ajoute la date du transfert.
    Ce qui permet éventuellement de reprendre des enregistrements ou le transfert à été faire incorrectement (procédure de correction)
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  6. #6
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    la solution que j'évoque ne vaut que pour un transfert à sens unique
    base périphérique --> base centrale

    Dis moi , si tu veux ensuite re distribuer une actualisation des données vers les bases périphériques.
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Salut Dr Fellgood,
    Tu as tout compris à mon problème et à la façon de le résoudre.
    Pour répondre à ton second post, il me faut une base centrale car les données vont servir par la suite dans des logiciels de SIG type MapInfo et ArcView. Mais il serait très bon que les bases sattelites soient elles aussi à jour car, sur le terrain, nous devons effectuer faire des synthèses entre observations.
    Dans un monde idéal, il me faudrait une requête "automatisée" qui me permettrais de faire ces transferts. En gros, deux cmdbutton "mise à jour", l'un pour exporter les données du jour d'un satellite vers la base centrale et un d'import des données de la base centrale vers ses rejetons. Grâce à cafeine, je sais maintenant ouvrir une fenetre Windows pour reprendre le chemin d'acces des divers bases par le code, le reste par contre........
    Pour faire simple, je vois ce qu'il faut faire, mais je ne sais pas comment m'y prendre . Je suis géologue mais pas développeur (personne n'est parfait )
    Si tu as une méthode, un code ou tt autre chose de la sorte, je suis bien sur preneur
    Merci en tout cas pour tes réponses et ton implication
    Adrien

  8. #8
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    prenons les différents éléments de ton problème un à un ....

    (je te conseille peut être dans une version essai, de laisser de côté l'importation d'images qui me semblent nécessaire de résoudre autrement, voir le tutorial de Caféine, sur la gestion d'u fichier photo)

    Problème 1:
    l'importation des données vers la base centrale:

    a) attacher le fichier de la base périphérique vers la base centrale: ---> recherche dans la FAQ

    b) faire une requête de mise à jour de la table centrale

    c) faire une requête de mise à jour de la base périphérique, pour mettre le FLAG à 1 (signifiant que la donnée a été transférée)

    un conseil de programmation : on décompose le problème (qui semble monstrueux au départ) et con fait des petites briques de programmation, que l'on assemble... (je me sers souvent de briques, en allant regarder mes applications précédentes, comment j'ai résolu, un problème antérieur)

    Je t'ai laissé un message privé ici, car retrouver un sujet de forum, lorsqu'il arrive à la 6 e page... dur dur !
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

Discussions similaires

  1. Mise à jour d'une base
    Par Armand59 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/07/2007, 14h51
  2. [Conception] probleme mise à jour d'une base
    Par bidibou dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/04/2007, 13h29
  3. Réponses: 6
    Dernier message: 15/05/2006, 17h04
  4. probleme de virgule dans la mise à jour d'une base de donnée
    Par KAF dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/12/2005, 02h18
  5. mise à jour d'une base de données
    Par flo83 dans le forum ASP
    Réponses: 6
    Dernier message: 12/06/2005, 20h27

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