Bonjour,
Je cherche à mettre en réseau ma base de données. Comme je ne l'ai jamais
fait, j'ai suivi divers tutoriels me disant de mettre la base avec
uniquement les tables dans un répertoire accessible à tous (disque réseau)
et la base avec le reste sur chaque PC. Ce que j'ai fait par l'utilitaire
prévu dans Access 2007 [split database]. Je dispose bien de mes deux bases
de données. L'une n'a que les tables (réseau) l'autre le reste (PC).
Ensuite, j'ai créé à partir de ma base sur mon PC les liens de toutes les
tables vers le répertoire accessible à tous où se trouve la base et les
tables communes. Quand je vais voir la propriété de toutes mes tables de la
base sur mon PC, je vois bien un petit symbole (lien) devant les tables.
Pourtant, j'ai le message d'erreur "Run-time error '3219' Invalid
operation" quand je lance ma base de données depuis mon PC.
Si j'ouvre pour déboguer, l'application bloque sur la ligne :
Dois-je modifier tout mon code pour qu'Access comprenne que mes tables se
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set rst = db.OpenRecordset("TbAcces", dbOpenTable)
trouvent ailleurs que dans l'application ?
Ai-je oublié quelques concepts importants ?
Merci de votre aide.
Je donne à titre informatif le code complet de la routine :
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 Public Sub SpyConnect() 'Mettre à jour la table des accès Dim rst As DAO.Recordset Dim db As DAO.Database Set db = CurrentDb Set rst = db.OpenRecordset("TbAcces", dbOpenTable) rst.MoveFirst Do While Not rst.EOF 'Utilisateur déjà connu If rst.Fields("IDUser").Value = VpUserName Then rst.Edit rst.Fields("DateCon").Value = Now() rst.Fields("NbCon").Value = rst.Fields("NbCon").Value + 1 rst.Fields("ActifCon").Value = "1" VpPrivilege = rst.Fields("Privilege").Value rst.Update Exit Do End If rst.MoveNext Loop 'Nouvel utilisateur If rst.EOF Then rst.AddNew rst.Fields("IDUser").Value = VpUserName rst.Fields("Privilege").Value = VpPrivilege rst.Fields("DateCon").Value = Now() rst.Fields("NbCon").Value = 1 rst.Fields("ActifCon").Value = "1" rst.Update End If rst.Close End Sub
Partager