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

Sécurité Discussion :

Comment s'affranchir du lecteur réseau sur chaque frontal ? [AC-2010]


Sujet :

Sécurité

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut Comment s'affranchir du lecteur réseau sur chaque frontal ?
    Bonjour,

    Petit souci mais particulierement pénible. Je créé une frontale, le chemin des tables liées qui sont sur le serveur a un nom de lecteur réseau exemple T: . Cette frontale ne pourra fonctionner sur un autre poste que si le chemin d'accés à la dorsale passe également par le lecteur réseau T.
    Pire dans ma base de données j'ai des liens hypertextes, ces liens sont egalement tributaires du même lecteur réseau. Il y a une astuce ou je n'ai pas le choix pour contourner le problème ? Merci par avance pour les solutions éventuelles

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    Vous trouverez sur le site des exemples pour proposer la ré-attache des tables à l'utilisateur.

    Ensuite, en ce qui concerne les liens ou les fichiers, utilisez des chemins relatifs à partir du répertoire de la base de données.

    Exemple : si le fichier est accessible via t:\rep1\sousrep000\applications\patientv1\fichiers\f001.txt et que la base de données est dans t:\rep1\sousrep000\applications\patientv1, stockez seulement : fichiers\f001.txt

    Reconstruisez le chemin complet avec CurrentProject.Path

  3. #3
    Membre du Club
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Mai 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2010
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    j'ai été confronté à ce type de problème et ma solution a été de créer un fichier txt qui contient les chemins des bds (locales et distantes) et qui est installé sur chaque pc avec la base des formulaires (frontale ou dorsale ???). à chaque ouverture de bd, un bout de code va récupérer le chemin dans ce txt et si les attachements avec les tables sont cassées, ils sont recréés en VBA.

    exemple de fichier txt (Cfg.txt):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Rep install]
    ; chemin de la base locale
    RepInstall=C:\Users\utilisateur1\Documents\G_bds\
    ; chemin de la base distante
    RepReccord=\\P12\P12Mes documents\G_bds\
    code pour récupérer le chemin dans le fichier Cfg:
    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
    Private Declare Function GetPrivateProfileString Lib "kernel32" _
    Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, _
    ByVal nSize As Long, ByVal lpFileName As String) As Long
     
    Private Declare Function GetPrivateProfileInt Lib "kernel32" _
    Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
     
    Private Declare Function WritePrivateProfileString Lib "kernel32" _
    Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
     
     
    Public Function GetINIString(ByVal sApp As String, ByVal sKey As String, ByVal ConfigFile As String) As String
        Dim sBuf As String * 256
        Dim lBuf As Long
     
        lBuf = GetPrivateProfileString(sApp, sKey, "", sBuf, Len(sBuf), ConfigFile)
        GetINIString = Left$(sBuf, lBuf)
     
    End Function
    et pour recréer les liens:
    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
    Public Function MajLien()
    On Error GoTo Err_MajLien
        Dim RepInstall As String, RepConfig As String, ConfigFile As String
        Dim LinkBdd As String
        Dim oDb As dao.Database, oTba As dao.TableDef, oDbSource As dao.Database, oTbaSource As dao.TableDef
        Dim strTemp As String, strConnect As String, strNomsTables() As String
     
        RepConfig = Application.CurrentProject.Path
        ConfigFile = RepConfig & "\Cfg.txt"
        RepInstall = GetINIString("Rep install", "RepReccord", ConfigFile)
        LinkBdd = "nom de base enregistrement"
     
        Set oDb = CurrentDb
        strTemp = ""
        strConnect = "MS Access;pwd=" & chr(34) & chr(34) & ";DATABASE=" & RepInstall & LinkBdd
        Set oDbSource = DBEngine.OpenDatabase(RepInstall & LinkBdd, True, True, strConnect)
     
        For Each oTba In oDb.TableDefs
            If Left(oTba.Name, 4) <> "MSys" Then
                If Len(oTba.Connect) > 0 Then
                    DoCmd.RunSQL "DROP TABLE [" & oTba.Name & "] ;"
                End If
            End If
        Next
     
        For Each oTbaSource In oDbSource.TableDefs
            If (oTbaSource.Attributes And dbSystemObject) = 0 And Left(oTbaSource.Name, 6) = "SysTab" Then
                strTemp = strTemp & oTbaSource.Name & "|"
            End If
        Next
     
        oDbSource.Close: Set oDbSource = Nothing
        strNomsTables = Split(Left(strTemp, Len(strTemp) - 1), "|")
     
        For nbr = 0 To UBound(strNomsTables)
            Set oTba = oDb.CreateTableDef(strNomsTables(nbr))
            oTba.Connect = strConnect
            oTba.SourceTableName = strNomsTables(nbr)
            oDb.TableDefs.Append oTba
            Application.SetHiddenAttribute acTable, oTba.Name, True
        Next
     
        oDb.TableDefs.Refresh
        strTemp = ""
     
    Exit_MajLien:
        Exit Function
     
    Err_MajLien:
        MsgBox Err.Number & " : " & Err.Description
        Resume Exit_MajLien
     
    End Function
    après la mise à jour des liens, un redémarrage de la base locale s'impose

    bonne continuation

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 452
    Points : 43 099
    Points
    43 099
    Par défaut
    Solution alternative :

    Créer un fichier .bat créer le volume réseau T: puis ouvrant la fontale automatiquement.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    rem destruction lettre precedente si existante
    net use t: /d
    rem creation volume T
    net use t: \\chemin reseau /user:nom utilisateur mot de passe
    chemin frontale_nom_base frontale.mdb
    Selon les versions système ( XP, VIsta/seven ), il faut inverser /user: nom utilisateur et le mot de passe
    Sur mon système, il me suffit de mettre le nom du fichier mdb, mais Selon config, il peut s’avérer nécessaire de mettre ceci à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chemin exe access\msacces.exe nom base
    En cas de nom de fichier ou nom d'utilisateur contenant des espaces il faut mettre entre guillemets
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,
    C'est peut-être moi qui n'ai pas compris le problème, mais j'ai une solution plus simple : au lieu de mettre un chemin du type "T:\monDossier\maDorsale.accdb", je mets quelque chose du type "\\monServeur\monPartage$\monDossier\maDorsale.accdb" pareil pour les liens Hypertextes...
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  6. #6
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut
    Merci à tous pour vos renseignements eclairés

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Complément d'info
    Citation Envoyé par Jeanpierre71 Voir le message
    Merci à tous pour vos renseignements eclairés
    Pour compléter l'info, en utilisation monoposte (dorsale et frontale sur le même PC) l'adressage de fichier avec adresse UNC peut ne pas fonctionner si le PC n'est pas connecté à un réseau ! Eh oui... c'est bête mais ça peut être déstabilisant et faire perdre du temps sur la question.

    La solution consite à simuler la connection réseau. Procéder ainsi (avec les droits administrateur):
    1 - exécuter: hdwwiz.exe
    2 - Depuis "Gestionnaire de périphérique" - "action" - "Add legacy Hardware" - écran "Welcome to Add Hardware wizzard", cliquer sur "Next", puis choisir 'install the hadware that i manually select…' puis "Network adapter", puis "Microsoft" puis "Microsoft Loopback Adapter".
    Redémarrer le PC et maintenant plus besoin d'avoir le cable réseau connecté ou le Wifi activé pour que les adresses UNC fonctionnent.

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

Discussions similaires

  1. Report builder : comment afficher un champ de regroupement sur chaque ligne
    Par yael44 dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 07/10/2011, 11h45
  2. [WS 2008] Connecter un lecteur réseau sur un serveur Distant
    Par zooffy dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 01/12/2010, 11h30
  3. Lecteur réseau sur même disque
    Par NorocBzh dans le forum Windows XP
    Réponses: 1
    Dernier message: 22/12/2009, 15h12
  4. [Batch] Mappage de lecteur réseau sur mesure.
    Par wam83 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 21/12/2009, 16h14
  5. Comment se connecter à un lecteur réseau?
    Par Immobilis dans le forum C#
    Réponses: 1
    Dernier message: 10/02/2009, 11h09

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