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 : Réponse pour Boulap / forum


Sujet :

Access

  1. #1
    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 Organisation de la base : Réponse pour Boulap / forum
    Suite à la demance de Boulap, je publie ici comemnt je diffuse les .mde.

    Je développe dans un dossier les applis en .mdb
    Une fois testé et ok, je la transforme en .mde dans le meme dossier.

    Chaque user a son rep réseau afin qu'il n'y ait qu'un user par appli frontale (pour ne pas avoir de pb de temps de chargement des formulaires).

    Sur un PC sous WinXP chargé de la MAJ quotidienne des bases Access (à partir de bases Images sur HP3000) et d'autres choses (sauvegardes sur DD distants, diffusion horaire de programme de percage, ...), j'ai programmé dans le planificateur de taches une tache supplémentaire gpao.bat.

    Ce gapo.bat conteint cela :

    copy \\srvdev\dev\gpao.mde \\srvprod\basesgp\atel1 > gpao.log /y
    copy \\srvdev\dev\gpao.mde \\srvprod\basesgp\atel2 >> gpao.log /y
    copy \\srvdev\dev\gpao.mde \\srvprod\basesgp\atel3 >> gpao.log /y

    la dernière ligne autant que de users (et donc de rép propres)

    cela est programmé a 1 heure du mat, les bases étant alors auto déconnectées par le principe déjà évoqué ici (formulaire scrutant toutes les xx secondes une table admin avec des flags et des horaires).

    de temps à autre, je lit le gpao.log pour voir si tout OK.
    Il doit y avoir des codes erreurs DOS utilisables en sorties de batch DOS pour voir si pas d'erreur.

    Donc chaque user a une base neuve tous les matins.

    les datas sont un un mdb central.

    @ + et merci à tous.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    'jour à tous !

    merci philou mais je suis pas sur d'avoir tout compris !!! je vais essayer d'approfondir :-)

    si des personnes utilisent déjà ce principe, fermeture automatique de base mde puis déploiement de mde sur chaque répertoire utilisateur, je pense que l'on est plusieurs à être preneur ;-)

    Merci d'avance,
    @+

    Edit. en faisant une recherche avançée j'ai trouvé qq trucs d'intéressant, si personne ne répond avant j'essaierai de faire qq chose et le mettrait en contribution...

  3. #3
    say
    say est déconnecté
    Membre éprouvé
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 258
    Points
    1 258
    Par défaut
    perso, du temps où on fonctionnait encore sous Access...j'avais pousser juqu'à positionner les frontaux en local sur les machines. Avec un bat en local.
    ça permet de ne pas faire transiter les frontaux sur le réseau.

    par ailleurs, ça me permettait de faire des correctifs au fur et à mesure dans la journée

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Cherchant une solution je viens de faire une fichier bat

    net use i: \\workstation\c$
    copy c:\"local data"\access\fichier.mde i:\"local data"\access\fichier.mde
    net use i: /delete


    Sur la première ligne, j'ouvre la connection réseau vers la station de travail de mon choix.
    La seconde ligne me permet de copier les données vers la station de travail.
    Et la dernière ligne ferme la connexion vers la station de travail et je peux dans ce cas refaire la minipulation pour une autre station de travail.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Ok merci vous 2, je vais plutôt partir sur un fil neuf en expliquant mon cas, ça pourra peut-être aider d'autres personnes.

    Merci

  6. #6
    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 Déconnexion auto ...
    Citation Envoyé par boulap
    'jour à tous !

    merci philou mais je suis pas sur d'avoir tout compris !!! je vais essayer d'approfondir :-)

    si des personnes utilisent déjà ce principe, fermeture automatique de base mde puis déploiement de mde sur chaque répertoire utilisateur, je pense que l'on est plusieurs à être preneur ;-)

    Merci d'avance,
    @+

    Edit. en faisant une recherche avançée j'ai trouvé qq trucs d'intéressant, si personne ne répond avant j'essaierai de faire qq chose et le mettrait en contribution...
    Pour la déconnexion auto, j'ai utilisé le principe évoqué là :

    http://access.developpez.com/faq/?pa...min#dconnexion

    que j'ai complété en y ajoutant
    - une notion d'application
    - heure min, heure max

    La table Admin ouverte est en fait une requete filtrant la table administration sur l'application voulue (donc en dur dans la requete); voir code ci dessous

    La fonction flog appelée est un 'loggin" de l'activité : je mémorise dans une table Login l'ouverture, la fermeture et autres choses que je veux suivre avec l'heure et le User.

    à la fin, on voit aussi le code pour controler si on a un message, la requete mess_a_voir filtre les messages à lire sur le user Environ("Username").

    Je met plus loin le code à l'ouverture du formulaire qui vérifie qu'on a droit d'ouvrir la base.

    Les bases se fermant à 23 heures dans mon cas, il suffit de copier à 1 heure du matin par le batch Dos précité le .mde sur tous les dossiers des user.

    L'icone de l'appli sur le bureau de chaque PC pointe sur le MDE dans le dossier RESEAU propre à chaque user.

    On pourrait "pousser" le mde sur chaque PC, mais les risques que le PC ne soit pas OK (éteint, HS, etc ...) me font préférer un dossier réseau propre à chaque User.

    La petite messagerie Access batie sur le principe de la minuterie du formulaire principal est pour les users ici une véritable aide, je m'en suis rendu compte, et a l'avantage d'être interactive avec l'appli de GPAO développée.

    Code du timer du formulaire principal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     Private Sub Form_Timer()
    ' toutes les xx secondes, vérification du flag Logoff et des heures d'ouverture
    On Error GoTo Err_LogOffChk
     
    Dim Lancer As Boolean, t_max As Variant, t_min As Variant, t As Variant, user As String
    Dim rcd As Recordset
     
    Set rcd = CurrentDb.OpenRecordset("Admin", dbOpenSnapshot)
    user = Environ("username")
     
    rcd.MoveFirst
    Lancer = rcd!logoff
    t_max = rcd!time_max
    t_min = rcd!time_min
    rcd.Close
    CurrentDb.Close
     ' --Si la case est cochée ou heure dépassée
    If Lancer Or Time() > t_max Or Time() < t_min Then
        Call flog("Fermeture", "Admin")
        Application.Quit acQuitSaveAll
    End If
     
    ' test si message
    If DCount("dest", "mess_a_voir") > 0 Then
        DoCmd.OpenForm "mess_a_voir"
        Call Shell("wscript.exe t:\mess.vbs", 1)
    End If
     
    Exit_LogOff:
       Exit Sub
    Err_LogOffChk:
       MsgBox Err.Number & vbCrLf & Err.Description, vbInformation, "Erreur"
       Resume Exit_LogOff
     
    End Sub
     
     
     
    test à l'ouverture :
     
    Private Sub Form_Open(Cancel As Integer)
    ' à l ouverture du formulaire (et donc de la base), on vérifie si on peut l'ouvrir via admin
     
    Dim Lancer As Boolean, t_max As Variant, t_min As Variant, t As Variant
    Dim rcd As Recordset
    Set rcd = CurrentDb.OpenRecordset("Admin", dbOpenSnapshot)
    rcd.MoveFirst
    Lancer = rcd!logoff
    t_max = rcd!time_max
    t_min = rcd!time_min
    rcd.Close
    CurrentDb.Close
     ' --Si la case est cochée
    If Lancer Or Time() > t_max Or Time() < t_min Then
        Call flog("fermeture", "Pas autorisé")
        DoCmd.OpenForm "bye", acNormal, , , acFormReadOnly, acDialog
    End If
    Call flog("Ouverture", "")

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2014, 13h10
  2. Réponses: 2
    Dernier message: 27/10/2008, 14h44
  3. [PHP] utiliser XML comme base de donnée pour un forum ?
    Par wystan dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 27/01/2007, 10h08
  4. [debutant] création de base de donnée pour un forum
    Par Pierrick584 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/01/2006, 11h38

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