Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Sécurité
Sécurité Le forum qui s'occupe de votre préoccupation de sécuriser l'accès à votre application Access, ainsi qu'à la sécurité des données.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2011, 13h24   #1
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Par défaut Liaison et MDP

Bonjour,

J'ai 2 bases de données sous 2007 ; une en frontale et une autre en dorsale. Voulant sécuriser un minimum la base , j'ai mis un mot de passe dans la base dorsale sans problème. ( cette base était à l'origine sous Access 2003 )

Par contre , Access me refuse de synchroniser les 2 bases lorsque je lance le gestionnaire de tables liées dans la base frontale. Il m'affiche un message signalant que le mot de passe n'est pas valide.

Pour ne plus obtenir cet erreur , je dois alors enlever le mdp de la base dorsale.

que faire pour réussir de relier les deux bases ? ou est-ce qu'un problème de compatibilité entre AC 2003 et 2007 ?

Je m'excuse d'avance si la question a déjà été posée ...

Cordialement
RM
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 20h58   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Avec la version 2007, la sécurité a complétement changée et été simplifié considérablement.

Ici un article de M$ http://msdn.microsoft.com/en-us/libr...ffice.12).aspx sur le sujet.

Peut-être peux-tu essayer avec une liaison ODBC sur ta BD protégée.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 09h17   #3
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,
Ton problème est normal, le wizard d'attache ne prend pas ce type de table en charge.

J'ai travaillé sur une solution à base de mot de passe sur la base dorsale, à titre expérimental.

Voici le code qui va te permettre de faire l'attache de ces tables.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Function NewAttache(vlNameOfTable As String)
' Crée une attache dans une base 2007 et + encryptée
    Dim tdf As TableDef
 
    Set tdf = sBDFrontale.CreateTableDef(vlNameOfTable)                        ' crée la table
    tdf.Connect = "MS Access;PWD=" & PassWordBD & ";DATABASE=" & Me.CheminBD    ' defini sa source
    tdf.SourceTableName = vlNameOfTable                                        ' indique son nom
    sBDFrontale.TableDefs.Append tdf                                            ' crée la table attachée
    sBDFrontale.TableDefs.Refresh                                               ' raffraichit la liste des tables
 
    Set tdf = Nothing
 
End Function
sBDFrontale doit être implémenté avec currentdb.

Ce code étant dans un ensemble plus vaste de procédures de sécurité tu te dois de gérer l'existence de la table avant l'attache.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 10h11   #4
Membre confirmé
 
Avatar de lelensois16
 
Homme Romain M.
Étudiant
Inscription : avril 2009
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Romain M.
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 167
Points : 204
Points : 204
Bonjour ,

Merci pour vos réponses ! Je ne connaissais pas le principe des liaisons OCDB , je sens que ceci va m'être TRES utile. ( via un tuto du site )

Grace au code de Loufab , j'ai réglé le problème. En voici la version adaptée à mes besoins.

Code :
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
Option Compare Database
Option Explicit
 
Private Function NewAttache(vlNameOfTable As String, Password As String)
On Error GoTo Error
 
' Crée une attache dans une base 2007 et + encryptée
    Dim tdf As TableDef
    Dim sBDFrontale As DAO.Database
 
    Set sBDFrontale = CurrentDb()
 
    Set tdf = sBDFrontale.CreateTableDef(vlNameOfTable)                        ' crée la table
    tdf.Connect = "MS Access;PWD=" & Password & ";DATABASE=" & CurrentProject.Path & "\BASE_V.1.04_be.mdb"    ' definit sa source
    tdf.SourceTableName = vlNameOfTable                                       ' indique son nom
    Call Delete_Table(vlNameOfTable)                                           'Enleve la table si elle existe déja ( cf. fonction de morgan Billy )
    sBDFrontale.TableDefs.Append tdf                                            ' crée la table attachée
    sBDFrontale.TableDefs.Refresh                                             ' raffraichit la liste des tables
 
fin:
    Set tdf = Nothing
    sBDFrontale.Close
    Set sBDFrontale = Nothing
    Exit Function
Error:
    'Remonte tous les erreurs différents de l'erreur 3376 : mdp non valide
    If Err.Number <> 3031 Then
        Err.Raise Err.Number, Err.Source, Err.Description
    Else
    MsgBox "le mot de passe n'est pas valide"
    End If
    Resume fin
 
End Function
 
Public Sub test()
Call NewAttache("Anomalie", InputBox("Mot de passe de la base source ?", "Mot de passe"))
End Sub
Merci à tout le monde en particulier Loufab qui m'a aidé avec ses nombreux tutos ( sur MSGraph en particulier )

Cordialement

RM
lelensois16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h55.


 
 
 
 
Partenaires

Hébergement Web