Nombre de Connections ACCESS + TXT

antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 - 27 juil. 2007 à 11:52
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 - 31 juil. 2007 à 17:50
bonjour,

- J'ai une base de données ACCESS dans laquelle presque toutes les tables sont attachées à des fichiers text.txt.
- Lorsqu'un utilisateur se connecte à la table attachée "entreprise" via l'appli, aucun autre utilisateur ne peut se connecter en même temps à cette table.

Auriez-vous une solution, ou une piste, à m'indiquer ? d'avance merci

ps : désolé si le "thème" ne correspond pas vraiment, j'ai trouvé que c'était le mieux adapté... :)

13 réponses

antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
27 juil. 2007 à 11:54
j'ai oublié de dire que j'ai développé une application permettant de ce connecter à la base... j'ai comme l'impression que mon problème vient du fait qu'il n'est pas possible à 2 utilisateurs de se connecter simultnément à la même table attachée (soit au même fichier texte...). Merci pour une solution ou une idée...
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
27 juil. 2007 à 13:39
Salut,

n'y a t il pas une option dans ta chaine de connexion qui donne l'exclusivité à l'utilisateur ? Tu peux nous faire voir cette chaine ?
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
27 juil. 2007 à 13:47
...of course

Set BaseConnect = New ADODB.Connection
    BaseConnect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CheminAccess & ";Persist Security Info=False"
    BaseConnect.Open

Set Rst1 = New ADODB.Recordset
    'MsgBox Rqte
    Rst1.Open Rqte, BaseConnect, adOpenStatic, adLockReadOnly

tu dois avoir raison... tu vois se que je devrais faire ??
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
27 juil. 2007 à 14:25
Peut etre qu'en rajoutant ca,



Rst1.CursorLocation
= adUseClient

ou en mettant autre chose que adOpenStatic.

DSL, je sais pas trop la.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
27 juil. 2007 à 14:37
Je viens de voir que dans une base Access 2003, il y avait un onglet Avancé dans le menu outils -> Options.

De la, tu peux spécifier le mode de connection par defaut,

Partagé ou exclusif. Peut etre que ca ne vient pas de la mais ca serait trop bete de ne pas aller voir.
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
27 juil. 2007 à 14:41
c'est vraiment cool de ta part, merci... je regarde "tout ça" et j'accepte ta réponse... a+
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
28 juil. 2007 à 08:10
Au debut de ta connection, tu fermes ton recordset

On Error Resume Next
Rst1.close
Set BaseConnect = New ADODB.Connection
    BaseConnect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CheminAccess & ";Persist Security Info=False"
    BaseConnect.Open

Set Rst1 = New ADODB.Recordset
    'MsgBox Rqte
    Rst1.Open Rqte, BaseConnect, adOpenStatic, adLockReadOnly
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
28 juil. 2007 à 12:32
Je comprends pas ou tu veux en venir puisque si tu n'as pas de connexion, tu n'as pas de recordset. Donc pourquoi le fermer avant de faire une connexion.

"Au debut de ta connection, tu fermes ton recordset"

Rst1.close
Set BaseConnect = New ADODB.Connection
   
BaseConnect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & CheminAccess & ";Persist Security Info=False"
    BaseConnect.Open

Encore, tu dirais, n'oublies pas de fermer ton recordset et ta connexion apres t'en etre servi, je comprendrais mais ca me parait bizarrre qu' un close avant la connexion resoudra le pb. En plus, a ce niveau du code, le recordset n'est pas censé etre declaré.
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
28 juil. 2007 à 17:01
Salut.
Il y a plusieurs utilisateurs (le probléme est là si j'ai bien compris), donc le premier ouvre le recordset.
On Error Resume Next
est là au cas ou il n'est pas ouvert.
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
28 juil. 2007 à 19:09
Je suis d'accord avec toi mais il me semble que pour chaque utilisateur correspond une application différente. Donc, un recordset different, non ?
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
28 juil. 2007 à 21:14
Salut
Peut être, je pense que la Bd est sur un serveur, et que le programme est sur plusieurs ordis
Chez moi çà marche trés bien comme çà, vu que si le recordset est ouvert, tu ne peux pas le réouvrir donc tu le fermes sans oublier le
On Error Resume Next
au cas ou il soit fermé.
à l'époque je n'avais pas trouvé d'autres solutions, mais il peut en exister!!!
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
31 juil. 2007 à 15:03
ok, mais je ne vois pas trop l'utilité de fermer le recordset d'un utilisateur (qui l'utilise) pour que ça soit un autre qui l'utilise... le problème de la connection au fichier ne sera que transféré à l'autre utilisateur... je ferme tous les recordset dès que j'en ai plus besoin, donc s'il est ouvert, ça veut forcément dire qu'un utilisateur l'utilise déjà, je voulais savoir si c'était possible d'utiliser en même tps, je regarde en mettant les fichiers txt en lecture seule.
0
bricoyeye Messages postés 326 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 avril 2008 2
31 juil. 2007 à 17:50
Salut,
Comment est ton concepte? je pense que tu as un ordi avec la base, et plusieurs ordi avec ton programme?
Si c'est le cas, admettons que l'ordi 1 se branche à ta base, et que l'ordi 2 se branche aussi.
Si l'ordi 1 a fini de voir le texte, mais pas l'ordi2, je pense que tu as prévus dans ton programme de fermer le recordset à la fin, donc l'ordi 1 le fermera, ce qui n'empêchera pas l'ordi 2 de fonctionner.
0
Rejoignez-nous