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 :

mise a jour d'une base fixe et d'une base portable


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 31
    Par défaut mise a jour d'une base fixe et d'une base portable
    Bonjour,

    Voila mon problème , j'ai une BD access 2007 dans une clé USB, et une BD access 2007 sur poste fixe, je souhaiterai savoir si il est possible d'envoyer tous les données enregistrer dans la clé USB vers une BD situé sur le pc fixe? histoire de créer plusieurs clé USB pour mes partenaire, et que tous les données enregistrer sur USB et sur le fixe sois automatiquement remise a jour des que l'on branche la clé USB?
    j’espère avoir bien expliquer mon problème .

    Merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 849
    Par défaut
    Bonsoir,

    Ce n'est pas impossible de créer un script sur la BD du PC fixe pour récupérer les données des clés USB.
    La situation à laquelle il faut faire attention, c'est la gestion des clés primaires de tes tables ? Il faut prévoir dès la création de l'application.

    Mais tout est possible, il faut voir le contexte.

    Bonne continuation

  3. #3
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 31
    Par défaut
    merci de ton aide " madefemere "

    peut tu développer un peut ton explication pour que je comprenne bien par ou commencé et comment va fonctionné ce script?

  4. #4
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    dalleau974,

    Je vais essayer d'expliquer à ma manière les idées de madefemere :

    Tu as une base fixe dans lequel tu copies ta base actuellement sur une clé USB.

    Tu souhaites distribuer à tes partenaires un clé avec la copie de ta base et synchroniser le tout sur une seule et unique base. Attention, je parle de synchronisation et pas de copie. Prenons l'exemple d'on document (Excel ou Word) ou chacun aura noté ses informations, en recopiant chaque clé vers ton document tu vas écraser les données précédemment enregistrées si le nom du fichier est le même.

    Pour faire une synchronisation, et le problème est complexe, il nous fait nécessairement un outil de synchronisation (qui va vérifier les dernières mises à jour et ajout dans la base fixe : en un mot calculer les différences entre la clé et la base fixe). Cela dit çà ne suffit pas, dans le même ordre d'idée un enregistrement va être écrasé si celui-ci comporte le même numéro sur chaque clé (le piège du numéroAuto). Les index (ou clé primaire) doivent donc être unique par clé afin de ne pas engendrer d'écrasements.

    Imaginons le cas suivant

    Poste Fixe

    ID_Nom, Nom,Prenom
    1,Durand,Paul
    2,Martin,Gérard

    Sur clé 1 (modification du client 1 et ajout client 3)
    1,Durand,Francois
    2,Martin,Gérard
    3,Dupont,Marcel

    lSur clé 2 (ajout client 3)
    1,Durand,Paul
    2,Martin,Gérard
    3,Dubois,Henri

    La version synchronisée sera donc

    1,Durand,Paul
    2,Martin,Gérard
    3,Lefebvre,Louis

    au lieu de

    La version synchronisée sera donc

    1,Durand,Francois
    2,Martin,Gérard
    3,Dubois,Henri
    4,Lefebvre,Louis

    Le système ne peut donc comprendre si il s'agit d'une modification du client 3 ou de l'ajout de 2 clients

    Le modèle doit tenir compte de ces aspects et encore mon exemple est très simplifié (modification du même client...)

    Donc à ce genre de problème, un modèle bien pensé évitant l'écrasement (abandon des numéros auto, système de vidage) vois base allégée sur les clés (à repenser).

    Dans ce genre d'architecture, le modèle le plus abouti reste évidemment les solutions hébergées web

    En espérant avoir été plus clair,

    JimBoLion

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 849
    Par défaut
    @Jimbolion,
    Je n'ai rien à ajouter sauf et ...

    @dalleau974,
    Comme je disais tout est possible. Mais comme ce que t'explique Jimbolion, il faut être TRES RIGOUREUX en termes de modèle pour utiliser ce genre de système. Maintenant nous ne savons pas le contexte pour vraiment t'orienter.

    Le premier indice à te proposer serait d'avoir un champ identifiant la clé (ou l'utilisateur) qui insère les données dans tes tables.
    Après, la grande question est la gestion des données communes à tous tes utilisateurs (à toutes les clés USB).
    Comment faire pour garder leurs unicités?

    @+

  6. #6
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    Madefemerre,

    Le premier indice à te proposer serait d'avoir un champ identifiant la clé (ou l'utilisateur) qui insère les données dans tes tables.
    Après, la grande question est la gestion des données communes à tous tes utilisateurs (à toutes les clés USB).
    Comment faire pour garder leurs unicités?
    Re-

    dalleau974, à toi de jouer

  7. #7
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2013
    Messages : 31
    Par défaut
    si je comprend bien ton explication , il faudrait donc pour chaque clé USB avoir une clé unique(id_cle) pouvant les identifier (exemple clé1 = a000, clé2 = b000,clé3 = c000) pour ne pas avoir d’écrasement de donné lors de la synchronisation, il faut dire au système quoi et ou modifier.

    Imaginons le cas suivant

    Poste Fixe

    ID_Nom,id_cle, Nom,Prenom

    1,a001,Durand,Paul
    2,b001,Martin,Gérard

    Sur clé 1 (modification du client 1 et ajout client 2 et client 3)
    1,a001,Durand,Francois
    2,a002,Martin,Gérard
    3,a003,Dupont,Marcel

    Sur clé 2 (modification du client 1 et ajout client 2 et client 3)
    1,b001,Durand,Paul
    2,b002Martin,Gérard
    3,b003,Dubois,Henri

    La version synchronisée sera donc

    1,a001,Durand,Francois
    2,b001,Durant,Paul
    3,a002,Martin,Gérard
    4,a003,Dupont,Marcel
    5,b002,,Martin,Gérard
    6,b003,Dubois,Henri

    il ajoute si id_cle n'existe pas ou il modifie si elle existe? suis je sur la bonne voie?

    merci de votre aide

  8. #8
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    dalleau974,

    Il y a du mieux mais ce n'est pas encore tout à fait cela, la synchronisation doit tenir compte également de la dernière mise à jour, pas simplement de l'état des modifications opérées par tout les utilisateurs.

    Dans l'exemple repris tu fais mention 2 fois du même client (b001 et a001) donc deux entrées alors qu'il s'agit bien du même client (celui qui a raison est celui et là encore pour simplifier celui qui opère la dernière mise à jour : les notions de date/heure mise à jour sont donc essentielles)

    La bonne réponse devrait être (supputation des dates et heures de dernière mise à jour)

    1,Durand,Paul (b001)
    2,Martin,Gérard (a002)
    3,Dupont,Marcel (a003)
    4,Dubois,Henri (b003)

    Il n'existe en réalité que 4 clients avec une clé unique et pas 6 comme dans ton exemple.
    En résumé chaque enregistrement possède sa propre clé, une clé est spécifiée pour chaque partenaire et la modification de chaque enregistrement doit être défini par un couple clé client + clé partenaire (je suis le partenaire X et je modifie le client y a telle date + heure). La gestion de la clé unique (client) est défini dans le système ayant autorité cad la base fixe.

    Là encore l'explication est simplifiée, qu'advient t-il lorsque deux partenaires modifient des données différentes sur le même client. Dois-tu gérer cette problématique ?

    Pour conclure, ces questions je me les suis posé avant toi, et là je parle en terme d'expérience pour avoir à gérer de la synchronisation de stocks entre différents magasins (j'ai pour cela opté le temps réel avec des échanges Web Services), mais une synchronisation journalière marche tout aussi bien.

    En espérant avoir répondu à tes interrogations.

    Oups, çà va faire cher l'audit avec deux spécialistes...

    JimBoLion

Discussions similaires

  1. [AC-2007] Mise a jour d'un formulaire a partir d'une liste déroulante d'un autre formulaire
    Par Daniel-Gérald dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/08/2014, 09h33
  2. [2.x] mise a jour d'un projet après modification d'une table
    Par DidG_like dans le forum Symfony
    Réponses: 2
    Dernier message: 26/04/2012, 15h07
  3. Réponses: 4
    Dernier message: 12/10/2009, 14h46
  4. mise a jour incrémentation existante d'un champ d'une table
    Par alexkickstand dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/08/2008, 15h11
  5. mise a jour d'un formulaire a partir d'une feuille
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/06/2007, 15h57

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