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 :

Organisation de la base


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut Organisation de la base
    J'ai une application importante installée chez un client, avec de nombreux objets (tables, formulaires, requetes et etats). Elle fonctionne parfaitement mais les demandes de modification pour amélioration sont fréquentes et nombreuses. J'effectue et teste les modifications sur une sauvegarde chez moi puis vais chez le client afin d' effectuer les mises à jour dans sa base.
    Quand les modifications sont peu nombreuses je procède par exportation d'objets de ma base vers celle de mon client.
    La solution, effacer l'ancienne base et implanter la nouvelle base étant impossible à cause des tables dont le contenu a varié, comment faire autrement ?
    Vous allez me dire qu'il suffit de sauvegarder les tables avant d'effacer l'ancienne base puis de les ré-installer dans la nouvelle base. Bien sûr mais cela est aussi astreignant que l'exportation d'objets et est-ce que cette façon de procéder tient la route ?

    Mes questions:
    1/ Dans le cas ou les modifications concernent de nombreux objets y a-t-il une autre méthode que d'exporter objet après objet ?
    2/ Au fait, n'y a-t-il que les tables qui soient un obstacle à cette manipulation d'effacement et de ré-implantation ?
    3/ Y a-t-il possibilité d'avoir des tables externes à la base (du genre fichier Excel ou autre) ce qui permettrait de mettre à jour rapidement par effacement/restauration ?

    Toute idée concernat les mises à jour sera la bienvenue. Merci d'avance

  2. #2
    Membre du Club

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 66
    Points : 65
    Points
    65
    Par défaut
    Bonjour.
    Il faut séparer les tables de données du reste.
    Les tables dans un (ou plusieurs) MDB, l'appli (requetes, états, formulaire, modules) dans un autre.
    On attache les tables dans le MDB appli.

    voir là :

    http://access.developpez.com/faq/?pa...in#ApplServeur

    Et prévoir un exemplaire de l'appli pour chaque user, conseillé aussi.
    Pour ma part, je rediffuse toutes les nuits le .mde de l'appli sur les différents répertoires des users (chaque user/pc à son rép réseau).
    Je modifie le mdb appli, le teste, si ok : transform en mde, le batch de nuit faisant la diffusion (auto fermeture de l'appli à 23 heures).

    je suis en Access 97

  3. #3
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Oui, tu peux (je dirais tu dois) utiliser des tables liées.

    Menu Outil ==> Utilitaires de base de données ==> Fractionner une base données.

    Tu peux regarder ici :

    http://access.developpez.com/cours/

    plus précisément ce qui traite du déploiement et de la sécurité.

    Sur le forum, tu trouvera également de nombreux fils de discussions traitant des bases "dorsales" et "frontales".

    Avec ce genre de configuration, plus de soucis au niveau du développement de l'application.

    Tu peux travailler chez toi avec un jeu de données de test et une fois la mise à jour prête, on installe uniquement chez le client la nouvelle version de l'application.

    Bonne lecture et si tu as des questions, n'hésite pas...

    Domi2

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Réponses super rapide, merci.
    J'ai des infos qui me permettent d'aller plus loin. J'avoue que je ne savais pas ce que faisaient les expressions Fractionnement, frontales, dorsales ........... d'ou mes questions sur le forum.
    A partir de ma base 'Films' j'ai fais Outils\Utilitaires\Fractionner. Le systeme me propose de construire la base de destination 'Films_princip', pourquoi pas.
    Je teste et ça fonctionne, parfait. Dès que je fais une mise à jour dans 'Films' elle est reportée également dans 'Films_princip'.
    Par contre j'ai toujours dans ma base de départ 'Films' toutes mes tables avec leurs contenus. Donc j'ai toutes mes tables en double.
    Comment fait-on pour se séparer des tables de départ qui sont dans la base 'Films' et dont on n'a plus besoin ?

    Question subsidiaire:
    L'une de mes tables que l'on appelera 'Autres films' a bien été prise en compte dans le fractionnement. Lors d'une mise à jour tout semble bien fonctionner mais, dans la liste des tables liées dans la base de départ 'Films' la flèche indiquant que c'est une table liée a disparu. Cette flèche est présente immédiatement après le fractionnement mais disparaît dès la première intervention sur la base ???????????

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    La question subsidiaire est résolue.

    La question de base reste d'actualité. Que faire pour ne pas avoir en double toutes les tables ?

  6. #6
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Normalement, si tu suis bien a procédure de fractionnement, en partant de Film.mdb, du obtient:

    - Film_princip.mdb ==> qui contient les tables
    - Film.mdb ==> qui contient les formulaires et autes, ainsi que les liens vers les tables (que tu peux gérer via Otils/Utilitaires..../Gestionnaire de tables liées

    Je viens de faie la manip sous Access 2002 avec une vieille ase et j'ai eu le résultat ci dessus.

    Essaye encore !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    J'ai bien suivi la procédure, qui est très simple en fait: Outils\Utilitaires\Fractionnement et le résultat est le suivant:
    - Film_princip.mdb ou il n'y a que les tables
    - Film.mdb qui contient formulaires, etats, requetes ET LES TABLES.
    C'est tout, je ne fais rien d'autre.

    Dans l'onglet 'Tables' j'ai toutes les tables affichées avec une flèche devant chacune indiquant qu'il y a bien un lien avec une autre base, Film_princip en l'occurence.

    Si je double clique sur une table dans Film.mdb elle contient les données.
    Si je saisi un nouvel enregistrement via mes formulaires, cette même table a bien été mise à jour (ainsi que celle de Film_princip.mdb).

    La seule différence est que lorsque je regarde la structure de la table dans Film.mdb le systeme me signale que je ne peux rien modifier dans la structure car c'est une table attachée.

    Dans la base Film.mdb il me parait normal que les noms des tables soient présents, mais il me parait anormal que ces tables soient pleines.
    j'ai fais plusieurs fois la manip bien sûr et toujours le même résultat.


    Il y a quelque chose qui m'échappe mais quoi ?

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Non, tu ne les a pas en doubles en fait ! Ce ne sont pas les tables à proprement parler ! C'est simplement une sorte de raccourci qui pointe sur tes tables liées. Donc en double cliquand tu accédes aux données de la base où sont tes tables Donc en fait tu as :

    - Film_princip.mdb ou il n'y a que les tables
    - Film.mdb qui contient formulaires, etats, requetes et LES RACCOURCIS VERS les tables.

    Donc tes tables ne sont pas en doubles

  9. #9
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Dans ta base Film.mdb, essaie de sélectionner les tables qui ne sont pas liées et touche DELETE.

    Ca donne quoi ?

    Domi2

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Je voyais les choses comme Herman vient de l'expliquer, uniquement le nom des tables mais vides (raccourcis vers). Pour démontrer cela il faudrait que je saisisse beaucoup de données et voir si la taille de la base Film.mdb ne change pas alors que celle de Film_princip.mdb augmente beaucoup.

    Concernant la question de Domi, je n'ai pas de table non liée dans ma base Film.mdb. Mais que voudrais tu démontrer en faisant cela stp ? Avec plus d'infos je pouurai simuler ce que tu veux.

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Domi doit penser que tes tables sont en double (affichées deux fois) dans ta base frontale. Mais elles ne le sont qu'une fois non ? Elles sont seulement une fois dans ta base frontale, et une fois dans ta base dorsale, ce qui est tout à fait normal.

    Mais si tu as fait la manip normalement, il n'y a pas besoin de démontrer quoi que se soit. Le fait de scinder la base en deux affiche les tables des deux côtés.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Je confirme, elles ne sont qu'une fois dans la base frontale et une fois dans la dorsale.

  13. #13
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Effectivement, je crois que j'ai mal suivi le problème... Sorry

    La situation a l'air parfaitement normale...

    Domi2

  14. #14
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    C'est vrai que la façon dont ça a été exposé (comme étant un problème) peut porter à confusion sur le fait que tes tables soient affichées deux fois dans ta frontale

    Sinon rubilacxe, après 13 post sur le topic, je suis heureux de t'annoncer qu'il n'y a aucun problème et que tu peux mettre le tag !

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Attend
    Je viens de faire un essai de remplissage et je te (vous) confirme que dans la frontale nous n'avons bien que des raccourcis. La taille de la frontale ne bouge pas d'un octet alors que la dorsale ..... J'aurai dû vérifier cela avant de vous importuner.

    Mais, ne quittez pas si je puis dire, je vérifie le comportement de la base dans le cas ou j'arrive chez le client, j'efface sa base et je mets la mienne avec mes modifs. Si problème je vous rappelle.

    En attendant merici pour vos réponse. Le flag Resolu ne saurait tarder.

  16. #16
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    En arrivant chez ton client tu aura juste a écraser sa frontale par la tienne, et le tour est joué

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Encore lui !
    Visiblement je n'ai pas tout compris.
    Ma question de départ était :comment réimplanter les modifs de programme dans la base du client sans avoir à le faire par export d'objet.
    J'ai chez moi la meme config que chez le client et j'effectue des modifs de programmes. Je vais chez le client, j'efface sa base frontale et je met la mienne avec les programmes modifiés.
    je viens de simuler et, bien que les liens soient toujours affichés il ne fonctionnent plus. J'ai réactivé outils\Utilitaires\Gestionnaire des tables liées et ca ne fonctionne toujours pas.
    En fait lorsque je saisi de nouvelles données elles apparaissent bien dans la frontale mais plus dans la dorsale.

    Surement ma manip d'effacement/restauration n'est pas bonne.
    Comment faire pour implanter les modifs de programme sans toucher la dorsale ?

  18. #18
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    En fait, tu dois également avoir chez ton client la même configuration base frontale / base dorsale.

    Quand tu fais une mise à jour de l'application, tu ne changes que sa base frontale et effectivement, tu rafraîchis les liens.

    Domi2

  19. #19
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Est ce que le chemin d'accés à la base dorsale est le même chez toi et chez le client ?

    Si chez le client la dorsale est sur le réseau ou autre, il faut réindiquer à la frontale où se trouve les tables situées dans la dorsale !

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Ca y est.
    L'erreur venait du fait que l'application (frontale et dorsale) chez moi était sur C: alors qu'elle est sur D: chez le client, d'ou l'erreur dans les liens.

    Bravo et un grand merci à tous. Je met le flag Resolu tout de suite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2014, 13h10
  2. Aide sur l'organisation d'une base de données comportant des macros
    Par Oirer dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/11/2012, 16h32
  3. Organisation d'une base
    Par lecknaat dans le forum Access
    Réponses: 10
    Dernier message: 04/01/2007, 14h52
  4. Organisation de la base : Réponse pour Boulap / forum
    Par philou22 dans le forum Access
    Réponses: 5
    Dernier message: 06/11/2006, 14h53
  5. Organisation d'une Base de donnée
    Par kilkikou dans le forum Décisions SGBD
    Réponses: 12
    Dernier message: 13/06/2006, 09h59

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