? plusieurs connexions à une base access

Signaler
Messages postés
13
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2011
-
Messages postés
13
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2011
-
A la recherche du savoir et de la connaissance


bonjour tout le monde,
j'utilise une application access (base frontale) pour me connecter à une bdd access, aussi,(base dorsale) qui est placée sur un dossier partagé accessible à tous le monde(plusieurs postes).
donc pour ce faire j'utilise une procedure qui se connecte à la base(dorsale) le probleme c'est que :
quand un utilisateur se connecte à la base(dorsale) les autres n'ont plus accés à celle-ci

alors si qlq'un peut m'aider merci d'avance

PS: j'utilise win xp et access 2003

7 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
quel est le code que tu utilises pour te connecter ?
Messages postés
13
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2011

d'abord je supprime les tables liées avec ce code:

Public Function Déliaison()
Dim BD As DAO.Database
Set BD = CurrentDb
Dim tb As DAO.TableDef
For Each tb In BD.TableDefs
If Left(tb.Name, 4) <> "MSys" Then
If Len(tb.Connect) > 0 Then
DoCmd.RunSQL "DROP TABLE [" & tb.Name & "] ;"
Debug.Print "effacement de " & tb.Name & " -=#=> " & tb.Connect
End If
End If
Next tb
End Function
Messages postés
13
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2011

puis j'utilise cette procedure pour me reconnecter à la base :

Public Sub LierTablesAuReseau()
On Error GoTo Err_Liaison '''
Dim choix As Integer
Dim strMotPasse As String
Dim strCheminBd As String
Dim strConnect, message As String
Dim strNomsTables() As String
Dim strTemp As String
Dim i As Integer
Dim oDb As DAO.Database
Dim oDbSource As DAO.Database
Dim oTbl As DAO.TableDef
Dim oTblSource As DAO.TableDef
' ********** suppression des tables attchées *************
Déliaison
' ********** reconnexion à la base *************
strCheminBd = "LecteurRéseauSurServeur\BaseDorsale_DATA.mdb"
strMotPasse = "MDP"
strConnect = "MS Access;pwd=" & strMotPasse & ";DATABASE=" & strCheminBd
Set oDb = CurrentDb
Set oDbSource = DBEngine.OpenDatabase(strCheminBd, True, True, strConnect)
For Each oTblSource In oDbSource.TableDefs
If (oTblSource.Attributes And dbSystemObject) = 0 Then
strTemp = strTemp & oTblSource.Name & "|"
End If
Next
oDbSource.Close: Set oDbSource = Nothing
strNomsTables = Split(Left(strTemp, Len(strTemp) - 1), "|")
For i = 0 To UBound(strNomsTables)
Set oTbl = oDb.CreateTableDef(strNomsTables(i))
oTbl.Connect = strConnect
oTbl.SourceTableName = strNomsTables(i)
oDb.TableDefs.Append oTbl
Next i
oDb.TableDefs.Refresh

LaConnexion = True

Sortie_Liaison:
Exit Sub
Err_Liaison:
message1 = " message d'err "
Resume Sortie_Liaison
End Sub
Messages postés
8
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
22 mai 2009

Bonjour,
avez vous regardé si la propriété "shared" est bien active dans options/advenced/default open mode.
Sinon uns eul user à la fois.

Patcorsair
Messages postés
13
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2011

A la recherche du savoir et de la connaissance



je m'excuse mais je cherche mais je ne trouve pas le: "options/advenced/default open mode."
pouvez vous me preciser exactement ou c'est?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
Outils > Options > Avancé > Mode d'ouverture par défault > Mode partagé
Messages postés
13
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
19 avril 2011

Le mode d'ouverture par défaut est défini sur Mode partagé

au fait j'ai suivi les etapes du tuto sur la mise en place de la securité mais les changement n'agissent que sur mon pc les autres travaillent comme si de rien n'etait

j'ai reussi a avoir les 2 connexion simultanées sur la meme base mais sans mot de passe(pour la dorsale) ce qui rend mon apllication frontale obsolete puisque chaque pc peut acceder au dossier de la dorsale et modifier la base
precision: lorsque j'ai defini le mot de passe de la dorsale il fallait l'ouvrir en exclusif