Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 06/12/2010, 17h55   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 81
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 81
Points : 27
Points : 27
Par défaut Pb avec Accde

Bonjour à tous,

Je dispose d'une base access 2007 que j'ai créé sous forme base frontale et dorsale. Les liaisons sont vérifiées et recréées lors de son ouverture, si nécessaire, dans le cas où je suis amené à déplacer cette base.

Je souhaite la transformer en accde, jusque là pas de problème. Mais si je change l'emplacement de cette base, alors, au lieu de recréer les liaisons avec les tables (comme cela se produit lorsque je suis en accdb), j'ai une erreur à l'ouverture.

Après quelques recherches sur le forum, il semble que les liaisons dans une accde doit être "en dur", ce qui ne m'arrange pas du tout.

Parmi les "bidouilleurs", n'y aurait-il pas quelqu'un qui aurait une idée pour contourner le problème.

Dans le cas contraire, si je ne peux vraiment pas utiliser un accde, comment renforcer la sécurité de ma base. En gros, je ne veux pas que l'on puisse accéder au code, ni même importer mes formulaires, tables, .... à partir d'une autre base de donnée, ...

Merci pour les suggestions et idées.

a+
Marsupio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 20h40   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 080
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 080
Points : 11 615
Points : 11 615
Bonjour,

Je n'ai jamais constaté de problème d'attache avec un accde. C'est probablement ta "bidouille" qui ne fonctionne pas.

Citation:
Après quelques recherches sur le forum, il semble que les liaisons dans une accde doit être "en dur", ce qui ne m'arrange pas du tout.
J'aimerai bien voir ou tu as lu cette anerie... que je m'empresse de modérer l'ardeur de ce (polu)posteur.

Citation:
...comment renforcer la sécurité de ma base. ... je ne veux pas que l'on puisse accéder au code, ni même importer mes formulaires, tables, .... à partir d'une autre base de donnée, ...
Si tu comptes empêcher le pillage des données je pense qu'avec l'accde tu es à coté de la plaque. Tu devrais lire le tuto sur la sécurité pour bien comprendre les différents mécanismes de protection à ta disposition.

Concernant ton problème d'attache le mieux est de poster ta "bidouille". On y verra sans doute plus clair.

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 07/12/2010, 15h23   #3
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 81
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 81
Points : 27
Points : 27
Concernant ma "bidouille", elle fonctionne très bien en accdb et en accdr mais les liens ne se recréer pas lorsque la base est en accde. Pourtant la base est bien compilée avant toute création en accde. Le code utilisé et celui que l'on trouve partout sur le net, y compris sur ce site (donc rien de spécial)

Concernant "l'anerie", et bien il s'agit d'un extrait du tuto trouvé ici même :
"Les liaisons sont inscrites en dur dans l'application frontale.
Prenez donc en compte qu'il est fortement recommandé de générer le fichier ACCDE avec la liaison réelles des tables comme si vous étiez
sur le poste client sans quoi, aucune donnée ne sera disponible au moment de l'installation et une erreur sera levée. " (http://argyronet.developpez.com/offi...=page_2#L2-3-3).

En attendant, je vais suivre ton conseil et allez me documentez dans la section sécurité.

A+
Marsupio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h41   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 080
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 080
Points : 11 615
Points : 11 615
Bonjour,

Je comprends mieux... c'est un problème d'interprétation de la phrase.

Il ne faut pas comprendre "Les liens doivent être en dur" comme tu le dis dans ton 1er message mais "Les liens SONT écrit en dur".
Ce n'est pas la même chose. Cela indique que les liens ne sont pas dynamique et qu'ils ne se mettent pas SEUL à jour.

Rien ne t'empêche de redefinir tes liens au moment du 1er démarrage de l'appli. ça se pratique couramment quelque soit le type de fichier (accdb, r ou e).

Concernant ton code, tu ne l'as pas posté donc je ne peux pas t'aider.

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 07/12/2010, 15h54   #5
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 81
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 81
Points : 27
Points : 27
Merci pour cette précision. Cela me rassure car je souhaite vraiment utiliser l'accde.

Voici mon code, situé dans un module, appelé dès l'ouverture de la base (et c'est d'ailleurs ce code qui me génère une erreur en accde) :

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
39
40
Function fCheckLinks()
Dim db As DAO.Database
Dim strBackEnd As String
Dim NomDorsale As String
Dim i As Integer
Dim oFSO As Scripting.FileSystemObject
Dim oFile As File
 
Set db = CurrentDb()
 
'Instanciation du oFSO et oFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.GetFile(Application.CurrentProject.Path + "\" + Application.CurrentProject.Name)
 
'définit le nom de la base Dorsale
If oFSO.GetExtensionName(oFile) = "accdb" Or oFSO.GetExtensionName(oFile) = "accdr" Then
NomDorsale = Left(Application.CurrentProject.Name, Len(Application.CurrentProject.Name) - 6) & "_Dorsale.accdb"
Else
NomDorsale = Left(Application.CurrentProject.Name, Len(Application.CurrentProject.Name) - 4) & "_Dorsale.mdb"
End If
 
'définit le chemin de la base Dorsale
strBackEnd = Left(db.Name, Len(db.Name) - Len(Dir(db.Name))) & "\Dorsale\" & NomDorsale
 
'rétablit les liens vers la base Dorsale
For i = 0 To db.TableDefs.count - 1
If db.TableDefs(i).Connect <> "" Then
If Mid(db.TableDefs(i).Connect, 11) <> strBackEnd Then
db.TableDefs(i).Connect = ";database=" & strBackEnd
db.TableDefs(i).RefreshLink
End If
End If
Next i
 
db.Close
Set db = Nothing
Set oFile = Nothing
Set oFSO = Nothing
Exit Function
End Function
a+
Marsupio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 17h02   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 080
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 080
Points : 11 615
Points : 11 615
Souvent en faisant au plus simple on voit vite l'erreur.

En l'occurence un petit point d'arrêt met en lumière un doublement d'un anti-slash dans le chemin d'attache. Difficile de faire un lien avec un chemin erroné.

L'affectation du strBackEnd est à revoir.
__________________
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 07/12/2010, 17h52   #7
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 81
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 81
Points : 27
Points : 27
Nickel !!!

Encore une fois, le forum me sauve. J'ai effectué les corrections, il ne me reste plus qu'à essayer en version accde mais je pense être sur la bonne voie.

Merci pour toute cette efficacité et cette rapidité

a+
Marsupio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 14h13   #8
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 81
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 81
Points : 27
Points : 27
Après essai en accde, mon pb est réglé, tout fonctionne à merveille.

Marsupio 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 16h03.


 
 
 
 
Partenaires

Hébergement Web