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

  1. #41
    Candidat au Club
    version access 2013
    Bonjour je trouve que ce Tuto est vraiment très bien fait et très détaillé.

    Félicitation pour le travail et l'aide que vous apportez.

    Le souhaiterais rajouter la partie administration à une base que j'ai créé. Seulement voilà je suis sous access 2013 et donc les extensions sont différentes.

    Serait il possible de savoir quelles sont les lignes à modifier?

    Merci. Et bravo pour le boulot réalisé

  2. #42
    Membre régulier
    Des questions à clarifier SVP consernant partage
    Bonjour,

    Merci pour ce tutorial, j'ai des questions à propos le partage d'une base de données:
    1-Pourquoi on utilise un code vba "lier les tables par code VBA" puise qu'il existe un assistant qui lie les tables facilement (III. Scinder une base)?
    2-Est ce que j'ai besoin de garder une copie de ma base avant de Fractionner ma base de données ??
    3-Apres que je fractionne ma base données et je veux ajouter des tables ou des formulaires ....c'est a dire faire des nouvelles mise à jour à ma base données, est ce que je reviens a ma base origine(je parle pas de dorsale ou frontale) et je fais mes mise à jour après je refractionne ma base et je le poste encore une fois dans les postes des utilisateurs??.
    si oui, comment je dois recuperer les enregistrements effectuer dans la base dorsale à ma base origine???


    Toutes ces questions m'on perturber la tête , si vous me clarifier ces questions je vous en serais gré

    Cordialement,
    Karima

  3. #43
    Rédacteur/Modérateur

    Bonjour,

    1-Pourquoi on utilise un code vba "lier les tables par code VBA" puise qu'il existe un assistant qui lie les tables facilement (III. Scinder une base)?
    L'assistant n'est disponible que sur la version complète de MS ACCESS. Si les postes sont équipés du runtime on n'y a pas accès. Cela rend également la frontale autonome, rien de plus désagréable que de passer sur 20 postes pour faire un simple attachement.

    2-Est ce que j'ai besoin de garder une copie de ma base avant de Fractionner ma base de données ??
    Non, par contre tu seras obliger d'adopter le nouveau fonctionnement. Toute modification de la structure des tables attachées devra être faites coté dorsale.
    Cependant il faut toujours sauvegarder avant d'entreprendre des manipulations.

    3-Apres que je fractionne ma base données et je veux ajouter des tables ou des formulaires ....c'est a dire faire des nouvelles mise à jour à ma base données, est ce que je reviens a ma base origine(je parle pas de dorsale ou frontale) et je fais mes mise à jour après je refractionne ma base et je le poste encore une fois dans les postes des utilisateurs??.

    Tu ajoutes les formulaires et tables sur ta version de développement, il n'est pas question de toucher à la version de production (celle utilisée).
    Une fois que tu as validé tes évolutions/corrections, tu livres.
    Si cela concerne l'application, tu ne relivre que ça (seul les postes clients sont impactés).
    Si tu as modifié le fichier de données, tu arrêtes l'application, tu fais ta modification et tu informes tes utilisateurs qu'ils peuvent relancer l'application.

    si oui, comment je dois recuperer les enregistrements effectuer dans la base dorsale à ma base origine???
    C'est dans la réponse précédente. Les modifications doivent être effectuées directement sur la dorsale lorsque tous les utilisateurs sont déconnectés.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #44
    Membre régulier
    Question de partage
    Bonjour,


    L'assistant n'est disponible que sur la version complète de MS ACCESS. Si les postes sont équipés du runtime on n'y a pas accès. Cela rend également la frontale autonome, rien de plus désagréable que de passer sur 20 postes pour faire un simple attachement.
    Toutes les postes sont equipés de MS ACCESS,aprés que je fractionne la base avec l'assitant et je copie coller la base frontale sur les postes, est ce que j'aurais besoin de relier à nouveau les tables avec la base dorasale chaque fois que je colle la base frontale sur les postes???

    Tu ajoutes les formulaires et tables sur ta version de développement, il n'est pas question de toucher à la version de production (celle utilisée).
    Une fois que tu as validé tes évolutions/corrections, tu livres.
    je livre? c'est a dire je refait le fraction de la base??
    C'est dans la réponse précédente. Les modifications doivent être effectuées directement sur la dorsale lorsque tous les utilisateurs sont déconnectés.
    Oui si je veux juste ajouter une table ou un champs je peux faire ces changements sur la base dorsale et ajouter ces modifications sur la base frontale facilement.
    Mais la question qui m'a rendu un peu folle si je ne dis pas completement si je veux ajouter un formuaire ou un macro ou un module je le frais ou dans la base frontale ou dorsale ???? comme on sait la base dorsale est reserver juste pour les tables et la base frontale qui contient les formulaires et les macros et modules (" il est intaller sur 20 postes") donc ou je cree ces nouvelles changement???

    Cordialement,
    Karima

  5. #45
    Rédacteur/Modérateur

    Toutes les postes sont equipés de MS ACCESS,aprés que je fractionne la base avec l'assitant et je copie coller la base frontale sur les postes, est ce que j'aurais besoin de relier à nouveau les tables avec la base dorasale chaque fois que je colle la base frontale sur les postes???
    Si la dorsale est accessible via la même unité (exemple : Z:\application\madorsale.accdb) sur l'ensemble des postes alors tu peux copier la frontale sans avoir besoin de faire un nouvel attachement.


    je livre? c'est a dire je refait le fraction de la base??
    Non une fois fractionnée, tu ne sera plus emmené à travailler sur cette version. Elle sera obsolète, tu pourras éventuellement la sauvegarder si tu le souhaites, sinon tu la supprimeras. Ta nouvelle version de travail (développement) sera la fractionnée.
    Livrer c'est copier la frontale sur chaque poste client.

    Oui si je veux juste ajouter une table ou un champs je peux faire ces changements sur la base dorsale et ajouter ces modifications sur la base frontale facilement.
    Mais la question qui m'a rendu un peu folle si je ne dis pas complètement si je veux ajouter un formulaire ou un macro ou un module je le frais ou dans la base frontale ou dorsale ???? comme on sait la base dorsale est réserver juste pour les tables et la base frontale qui contient les formulaires et les macros et modules (" il est installer sur 20 postes") donc ou je crée ces nouveaux changements ???
    Si tu veux ajouter une table commune, c'est coté Dorsale qu'il faut le faire. Si c'est un formulaire, une requête... bref un élément de l'IHM c'est coté Frontale. Donc tu le fais sur ta version de travail (sur ton poste), une fois testé et validé, tu la livre sur chaque poste.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #46
    Membre régulier
    question de partage
    Merci, Maintenant c'est bon sa deviant un peut Claire..

    Si tu veux ajouter une table commune, c'est coté Dorsale qu'il faut le faire. Si c'est un formulaire, une requête... bref un élément de l'IHM c'est coté Frontale. Donc tu le fais sur ta version de travail (sur ton poste), une fois testé et validé, tu la livre sur chaque poste.
    d'apres ta reponse je comprend que, moi aussi je dois faire une copie de la base frontale dans mon poste?.
    si je met une copie de la base frontale"juste une copie de protection & de sauvgarde" dans meme dossier avec la base dosale("G\:mon\application\...)?ou bien ce n'est pas necessaire???

    cordialement et merci encore une fois.

  7. #47
    Rédacteur/Modérateur

    Ce qu'il faut faire c'est séparer la version de développement, celle que tu utilises pour mettre en œuvre tes évolutions et tes corrections avant livraison aux utilisateurs ET la version en exploitation, celle avec laquelle les utilisateurs travaille.

    Il te faut donc 2 versions installée sur ton poste.

    La première, celle de développement, doit avoir sa propre bdd dorsale et donc la frontale. Elles peuvent être dans le même répertoire.

    La seconde, celle en exploitation, ne comporte que la frontale sur ton poste (comme tes utilisateurs) la dorsale étant celle en exploitation (partagée sur le serveur avec les autres utilisateurs). Celle-ci ne servant qu'à vérifier une anomalie que t'aurait remonté tes utilisateurs.
    A noter que celle-ci est facultative. Tu peux toujours vérifier directement sur le poste de l'utilisateur concerné.

    ça c'est pour les versions que tu vas utiliser.

    Les sauvegardes c'est autre chose, tu peux les faire ou tu veux, elles ne doivent être utilisées et généralement doivent être faites sur un autre support. Mais effectivement un copie locale supplémentaire c'est mieux.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #48
    Membre régulier
    Question partage
    Merci Beaucoup

    La première, celle de développement, doit avoir sa propre bdd dorsale et donc la frontale. Elles peuvent être dans le même répertoire.
    1-cette base de develeppement sera pour mettre à jour ma base "c'est bien clair merci beaucoup" mais par exemple si j'ai fait la mise à jour(ajout formulaire, requette ...), comment je fais pour les enregistrements qui ont ajoutées les utilisateurs dans la base d'exploitation??? je dois ecrasée l'encien base d'exploitation et remettre celle mise à jour, est ce que je dois parcourir tous les tables et faire copie coller des enregistrements d'encien base à la nouvelle base???

    2- j'ai fait un teste j'ai fractionnée ma base sur mon poste "bureau" et j'ai fait copie colle les deux base dorsale et frontale sur le reseau, après j'ai fait copie de frontale sur mon bureau sa marche bien, mais quand j'ai essayé d'autre poste j'ai fait coller la base frontale sur le poste la base s'ouvre comme l'image ci dessous!!
    est ce que le fractionne de la base doit etre fait sur le reseau??et non sur mon poste "bureau"?


  9. #49
    Rédacteur/Modérateur

    1-cette base de develeppement sera pour mettre à jour ma base "c'est bien clair merci beaucoup" mais par exemple si j'ai fait la mise à jour(ajout formulaire, requette ...), comment je fais pour les enregistrements qui ont ajoutées les utilisateurs dans la base d'exploitation??? je dois ecrasée l'encien base d'exploitation et remettre celle mise à jour, est ce que je dois parcourir tous les tables et faire copie coller des enregistrements d'encien base à la nouvelle base???
    Comme je te l'ai déjà expliqué, il te faut reproduire les modifications apportées à ta base (dorsale) de développement, à celle en exploitation. Cela peut être fait manuellement (simplement) ou par patch (plus complexe et réservé à des bases disséminées sur d'autres sites).

    2- j'ai fait un teste j'ai fractionnée ma base sur mon poste "bureau" et j'ai fait copie colle les deux base dorsale et frontale sur le reseau, après j'ai fait copie de frontale sur mon bureau sa marche bien, mais quand j'ai essayé d'autre poste j'ai fait coller la base frontale sur le poste la base s'ouvre comme l'image ci dessous!!
    est ce que le fractionne de la base doit etre fait sur le reseau??et non sur mon poste "bureau"?
    Tu dois créer des raccourcis pour accéder aux applications.
    Cf mon tuto http://loufab.developpez.com/tutorie...lignecommande/
    Aussi bien sur les postes utilisateurs que sur le tient. C'est important pour pas faire d'erreur (modifier la version en exploit sur ton poste au lieu de celle de dev).
    Il faut de la rigueur mais tu auras, de fait, un processus de conception plus robuste.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #50
    Membre régulier
    question partage.
    Tu dois créer des raccourcis pour accéder aux applications.
    D'aprés les tutoriels de fraction des base de données que j'ai lu, je dois juste faire copie coller la base frontale sur chaque poste, pourquoi je dois crée des raccourcis??? , ces raccourcis seront de la base frontale??

    merci pour ton support.

    modifier la version en exploit sur ton poste au lieu de celle de dev.
    tu m'as deja dis que je dois garder une base dorsale et frontale dans un repertoire reserver juste pour les mise à jours, si je modifie la version en exploitation les autres utilisateurs ne peuvent pas exploiter la base.!
    -------------------------------------

  11. #51
    Rédacteur/Modérateur

    les raccourcis c'est une astuce pour pas mélanger tes 2 versions. Mais tu fais comme tu veux.
    Les raccourcis sont généralement placé sur la frontale.
    Le cycle de mise à jour est le suivant :
    1) tu fais les modifications sur ta version de dev locale.
    2) tu répercutes les modifications sur la dorsale.
    3) tu livres la frontale sur chaque poste.

    Il est sûr que du moment que tu interviens sur la version en exploitation, les utilisateurs ne doivent pas y avoir accès.

    modifier la version en exploit sur ton poste au lieu de celle de dev.
    Si tu sors une phrase de son contexte elle peut dire le contraire ou plus rien dire du tout.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  12. #52
    Membre régulier
    Question partage
    loufab, sa sera mon dernier question

    d'apres mes testes , j'ai remarqué que:

    -si je fractionne la base origine sur mon poste et je met la base dorsale sur le serveur et le frontale sur chaque poste et je relie le frontale avec la dorsale à nouveau-->le base frontale s'ouvre comme l'image en haut "ne fonctionne pas".

    -si je fractionne la base origine dans le serveur après je met la base frontale sur chaque chaque poste-->la base frontale fonction parfaitement.

    j'ai constaté que pour la base frontale fonction bien -->il faut frationner la base sur le reseau après mettre la base frontale sur les postes.


    Cordialement,
    Merci
    karima

  13. #53
    Rédacteur/Modérateur

    CE n'est pas normal.

    Peut importe où le fractionnement est effectué. Je pense que ton problème est ailleurs.

    Mais bon, on ne fait le fractionnement qu'une fois.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  14. #54
    Membre à l'essai
    Comment utiliser une application en mode multi-utilisateurs
    bonsoir à tous, Dolphy35 Article très instructif et bien fait. En voulant l’implémenter je rencontrais une erreur 3265 element non trouvé dans cette collection, après plusieurs analyses, je suis rendu compte que c'est votre affectation dans le bloc du code rst.addnew ou il y'a cette déclaration rst!TablesAttachees en le corrigeant par rst.Fields![TablesAttachees] tous fonctionne correctement sous access 2007

    En espérant que cela peut aider plus d'un et Dolphy35 peut prendre en compte comme une correction.

    Merci et très cordialement

  15. #55
    Futur Membre du Club
    Erreur N°0 lors des recherche des tables liés
    Bonsoir ,

    tous d'abords merci pour ce magnifique tutoriel ,que je vait bientôt connaitre par cœur , tellement je but dessus :

    lorsque j'exécute le code à l'ouverture du formulaire de démarrage le Msgbox m'indique erreur n°0 ...

    J'ai vu que le sujet avait déjà étais posé il y a quelque années mais sans solution net .La bdd exemple Comptoir fonctionne bien , j'ai refait 4 fois le tutoriel avec différente bdd fractionner et pourtant je ne comprend toujours pas mon erreur .

    Y aurai un petite piste a me proposer s'il vous plait ?

    Bonne nuit

  16. #56
    Membre à l'essai
    Citation Envoyé par larsenacb Voir le message
    Bonsoir ,

    lorsque j'exécute le code à l'ouverture du formulaire de démarrage le Msgbox m'indique erreur n°0 ...

    J'ai vu que le sujet avait déjà étais posé il y a quelque années mais sans solution net .La bdd exemple Comptoir fonctionne bien , j'ai refait 4 fois le tutoriel avec différente bdd fractionner et pourtant je ne comprend toujours pas mon erreur .

    J'arrive un peu tard, mais comme quoi, ça veut dire que ce tuto et cette discussion sont toujours d'actualité!
    J'ai eu le même problème et dans mon cas, c'était lié à l'histoire du verrou admin qui était mis et pour lequel je n'avais pas encore créé l'interface de maintenance. Si c'est cela, je te conseille de reprendre le code proposé par bigounet pour gérer cela, au début de ta procédure Form_Timer:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If DLookup("VerrouAdmin", "T_Admin") = False Then
     
            DoCmd.Close                             ' fermeture du splash
            DoCmd.OpenForm "*MenuPrincipal*"        ' ouverture du forms de l'application
            Exit Sub
     
        Else
     
            MsgBox "La base de Données est actuellement en mode Maintenance." & vbCrLf & _
            " Veuillez essayer plus tard. Merci ", vbInformation, "Maintenance de la base"
            DoCmd.Quit
     
        End If


    Bon courage...!

    [EDIT] Pardon, c'était déjà dans le tuto de départ de Dolphy35, dans la partie "Mode Maintenance de la base": http://dolphy35.developpez.com/artic...reseaux/#LIX-B

  17. #57
    Rédacteur/Modérateur

    Bonjour

    Erreur 0 ?!

    https://www.developpez.net/forums/d2...de-erreur-0-a/

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  18. #58
    Membre à l'essai
    Bonjour je trouve que ce Tuto est vraiment très bien fait et très détaillé.

    Félicitation pour le travail et l'aide que vous apportez.
    j'aurais cependant quelques question :

    je voudrais pouvoir lier plusieurs dorsales à un même frontal, quel serait la meilleure manière de modifier le code ?

    j'avais dans un premier temps penser à supprimer toutes les tables liées de cette manière:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim tbdTables As DAO.TableDef
    Dim db As DAO.Database
     
    Set db = CurrentDb
    For Each tbdTables In db.TableDefs
        If tbdTables.Attributes = dbAttachedTable Then
            db.TableDefs.Delete tbdTables.Name
     
        End If
    Next tbdTables
    db.TableDefs.Refresh
    Set db = Nothing


    cependant certaine table liées ne sont pas supprimée? y'a t'il une raison ?

    Cordialement,