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 :

Utiliser la réplication de base de données


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut Utiliser la réplication de base de données
    Hello...


    Je vous expose mon cas.
    Je suis en train de developper une application de gestion des adhérents et tout ce qui tourne autour, qui sera fournie à un ORGANISME, qui lui même pourra le fournir à ses propres organismes s'il le desire...

    En quelque sorte :
    Application -> ORGANISME -> SS-ORGANISME 1
    Application -> ORGANISME -> SS-ORGANISME 2

    L'avantage etant que les sous organismes peuvent faire une sauvegarde de la base de donnée, l'envoyer à l'ORGANISME qui pourra ainsi recuperer les données sans avoir à faire leur propre saisie...

    En quelque sorte :
    Données -> SS-ORGANISME 1 -> ORGANISME
    Données -> SS-ORGANISME 2 -> ORGANISME

    Juste un module importation et hop ca créé les nouveaux adhérents, et ca ecrase les adhérents existants, les mettant ainsi à jour...

    Mon problème, bien sur... c'est ce module importation !

    J'ai deja fait la partie sauvegarde, pas de probleme ca me sort un fichier des données de la base.
    Mais pour faire l'importation proprement dite, comment dois je m'y prendre ?

    Comment importer des données d'une base de données à une autre ?
    Comment verifier si un adhérent existe deja dans la base du fichier "central" ?

    Merci...


  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Aurais-tu envisagé de regarder du côté de la réplication (http://office.microsoft.com/fr-fr/as...526841036.aspx )?
    - réplica manager
    - réplication partielle
    - ...

    La majeure partie de tes soucis devrait disparaitre

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Merci !

    Je vais regarder ca et essayer de trouver des exemples afin de faire ca en VBA...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Bon j'ai regardé ces infos et en effet la replication a l'air idéale...
    Seulement je comprends pas car lorsque je veux synchroniser ma BDD avec l'autre BDD il me dit que c'est pas la meme base de données, et donc que la synchronisation est impossible...


    Mais moi ce que j'aimerais faire c'est une synchronisation entre 2 BDD car j'ai :
    - BDD principale
    - BDD #1 (à importer dans la BDD principale)
    - BDD #2 (à importer dans la BDD principale)
    - ... ...

    Est ce impossible ???


  5. #5
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    A mon avis, si tu ne veux ou ne peux utiliser les réplicats, tu dois d'abord préciser comment tu affectes tes numéros d'adhérents en évitant les doublons entre 2 bases.
    Si cela est clair, il n'est pas très compliqué de créer une procédure en DAO qui permette de frotter deux tables et d'en déduire les nouveaux adhérents.
    Ce que je ne comprends pas dans ce que tu veux faire c'est :
    et ca ecrase les adhérents existants
    Bon courage,

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Et bien ce que je veux c'est importer les adhérents de la 2eme base dans la base principale.
    Pour cela il faut verifier si cet adhérent existe deja ou pas.
    Si il n'existe pas : Création !
    Si il existe : Mise à jour... (en gros on remplace l'enregistrement de la base principale par l'enregistrement de la 2eme base (c'est ce que je voulais dire par 'ecraser'))

    Merci...

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Et tu as imaginé quoi pour éviter les doublons dans les numéros d'adhérents?

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    Bonjour sentenza et bonjour à tous,

    Ce sujet m'intéresse, et j'aimerais savoir sentenza si du veux importer tes données de access vers access? j'aimerais comme toi importer des données vers une table access, mais de excel vers access. Est-ce que les réplicats me concernent?

    Merci et bonne continuation

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    pgz >
    Comme je l'ai dit plus haut, il faut un controle permettant de verifier si cet adherent existe deja dans la table...
    Si il existe -> mise a jour
    Si il existe pas -> creation
    Ainsi, on evite les doublons...

    alex.a >
    Pour ma part c'est de access vers access l'importation que je veux faire, quand à ton importation de excel vers access je crois que les replicas ne te concernent pas, soit tu passes par le menu Outils->Importer d'Access, soit tu passes par des requetes et du code pour Ouvrir ton fichier Excel, recuperer les données et les importer où bon te semble...
    (P.S. Bon courage )

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    J'ai vu sur un autre Topic qu'on pouvait faire ca avec une requete...

    J'ai donc fait comme ca :
    monsql = "INSERT INTO adherent SELECT * FROM adherent IN " & Chr(34) & chemin.Value & Chr(34)
    DoCmd.RunSQL monsql
    Ce qui me donne bien :
    INSERT INTO adherent SELECT * FROM adherent IN "c:\base.mdb"
    Pas de probleme lorsque je teste, aucun message, bonne execution.
    Mais...
    Rien ne se passe !?!?



    Ma requete n'est pas bonne ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Bon, et bien j'ai corrigé ma requete et elle fonctionne bien.
    En voila un exemple :
    "INSERT INTO adherent SELECT code AS code, titre AS titre, nom AS nom, ...
    FROM adherent
    IN " & Chr(34) & chemin.Value & Chr(34)
    Si l'adherent n'existe pas dans la table où j'importe mes données, il le créé.
    Super !


    Mais si il existe deja dans cette table, et bien il ne modifie pas l'enregistrement.
    Je me suis donc dit qu'il fallait que je fasse une requete de mise à jour pour ces enregistrements...
    Comme ca :
    "UPDATE adherent SET code = code, titre = titre, nom = nom, ...
    IN (" & Chr(34) & chemin.Value & Chr(34) & ")"
    Mais Comment lui dire dans quelle table de l'autre base de données aller chercher les informations concernant l'enregistrement à modifier, puisqu'il n'y a pas de FROM dans une requete mise a jour ??

    (La requete s'execute sans erreur mais les enregistrements en question ne se modifient pas...)

  12. #12
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    Bonjour,
    Citation Envoyé par sentenza
    ... puisqu'il n'y a pas de FROM dans une requete mise a jour ??
    ...
    je travaille avec un BDD SQL Server, et j utilise access comme interface utilisateurs... mais je sais creer des requete de MAJ avec from genre

    update...
    set...
    from select... inner join....

    et ca marche, je ne sais pas si c est du au fait que c du SQL Server... mais en tout cas les requete sont executé avec du VBA

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Le FROM ... INNER JOIN ...
    c'est pour faire une jointure dans la requete mise a jour...

    Moi il me semble que je n'en ai pas besoin, je veux lui dire de faire une mise a jour de la table adherent en prenant les informations de la table adherent d'une autre base de données...


    J'ai essayé avec le From qd meme mais ca ne veut pas...

Discussions similaires

  1. [Lazarus] [Débutant] Utiliser les fichiers de Pascal comme base de données
    Par deuxgigas dans le forum Lazarus
    Réponses: 0
    Dernier message: 26/11/2009, 10h33
  2. Réponses: 1
    Dernier message: 10/12/2008, 19h22
  3. Utiliser un fichier CSV comme une base de données: contenu rogné
    Par therock dans le forum Accès aux données
    Réponses: 5
    Dernier message: 21/12/2007, 11h00
  4. Réponses: 10
    Dernier message: 10/02/2006, 14h23
  5. Réponses: 8
    Dernier message: 23/03/2005, 19h28

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