OVH Cloud OVH Cloud

BD Access read-only

2 réponses
Avatar
Alex Bertato
Bonjour,
nous avons créé un petite appli qui va lire une table dans Access XP, bd
installée sur un share. Les utilisateurs ne font que lire la table et n'ont
pas besoin de modifier ou d'ajouter quoi que se soit..
Le code ci-dessous établit la connection et met les données dans un
datagrid.
Le problème c'est que si l'on veut modifier la bd pour y ajouter qqchose, ce
n'est pas possible, il y a un message comme quoi la bd est en mode
read-only....
Je croyais que en tant que créateur de la bd je pouvais l'ouvrir en mode
exclusif comme avec access 97 et ajouter de nouvelles données, même si cette
base était utilisée par les utilisateurs qui sont eux en read-only (?)
justement.
Comme vous le voyez on n'est pas des spécialistes d' Access et si quelqu'un
pouvait nous éclairer, se serait sympa.
Merci d'avance.
alex

Dim db1 As adodb.Connection ' base de donnée bd_Trad.mdb
Dim adoPrimaryRS1 As adodb.Recordset 'recordset de la table1 de la BD
bd_Trad.mdb

Private Sub Form_Load()

'routine à la création de la feuille

lbl_version.Caption = " Vers.: " & App.Major & "." & App.Minor & "." &
App.Revision

'Ouverture de la BD "textes traduction"
Set db1 = New Connection
db1.CursorLocation = adUseClient
db1.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data
Source=\\Moench\O-Catia-Standard\Standard_Catia\Uebersetzung_Traduction\bd_T
rad.mdb;"
Set adoPrimaryRS1 = New Recordset
adoPrimaryRS1.Open "select DE,EN,FR,Classe from Table1 Order by DE",
db1, adOpenStatic, adLockReadOnly

Set DataGrid1.DataSource = adoPrimaryRS1

2 réponses

Avatar
Denis P
Bonjour Alex,

Tu ouvres ton recordset en ReadOnly. Regardes cette ligne de ton code

«« Set adoPrimaryRS1 = New Recordset
adoPrimaryRS1.Open "select DE,EN,FR,Classe from Table1 Order by DE",
db1, adOpenStatic, adLockReadOnly »»

Essaies en changeant « adLockReadOnly » par « adLockOptimistic » Il y a de
bonnes chances que ton problème soit résolu et que tu puisses apporter les
modifications que tu veux à ta BD.

Espérant t'avoir aidé

@ +

Denis P

"Alex Bertato" a écrit dans le message de
news:bq76f9$fvg$
Bonjour,
nous avons créé un petite appli qui va lire une table dans Access XP, bd
installée sur un share. Les utilisateurs ne font que lire la table et


n'ont
pas besoin de modifier ou d'ajouter quoi que se soit..
Le code ci-dessous établit la connection et met les données dans un
datagrid.
Le problème c'est que si l'on veut modifier la bd pour y ajouter qqchose,


ce
n'est pas possible, il y a un message comme quoi la bd est en mode
read-only....
Je croyais que en tant que créateur de la bd je pouvais l'ouvrir en mode
exclusif comme avec access 97 et ajouter de nouvelles données, même si


cette
base était utilisée par les utilisateurs qui sont eux en read-only (?)
justement.
Comme vous le voyez on n'est pas des spécialistes d' Access et si


quelqu'un
pouvait nous éclairer, se serait sympa.
Merci d'avance.
alex

Dim db1 As adodb.Connection ' base de donnée


bd_Trad.mdb
Dim adoPrimaryRS1 As adodb.Recordset 'recordset de la table1 de la BD
bd_Trad.mdb

Private Sub Form_Load()

'routine à la création de la feuille

lbl_version.Caption = " Vers.: " & App.Major & "." & App.Minor & "." &
App.Revision

'Ouverture de la BD "textes traduction"
Set db1 = New Connection
db1.CursorLocation = adUseClient
db1.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data



Source=MoenchO-Catia-StandardStandard_CatiaUebersetzung_Traductionbd_T
rad.mdb;"
Set adoPrimaryRS1 = New Recordset
adoPrimaryRS1.Open "select DE,EN,FR,Classe from Table1 Order by DE",
db1, adOpenStatic, adLockReadOnly

Set DataGrid1.DataSource = adoPrimaryRS1




Avatar
Alex Bertato
merci denis,
une question, est-ce que les utilisateurs pourront eux modifier la table ?
Car le code ci-dessous se trouve dans l'appli. VB et c'est cette appli
qu'utilisent tous les utilisateurs.
Je precise que pour modifier la base je l'ouvre dans Access directement et
non pas par VB.
@+

"Denis P" wrote in message
news:
Bonjour Alex,

Tu ouvres ton recordset en ReadOnly. Regardes cette ligne de ton code

«« Set adoPrimaryRS1 = New Recordset
adoPrimaryRS1.Open "select DE,EN,FR,Classe from Table1 Order by DE",
db1, adOpenStatic, adLockReadOnly »»

Essaies en changeant « adLockReadOnly » par « adLockOptimistic » Il y a


de
bonnes chances que ton problème soit résolu et que tu puisses apporter les
modifications que tu veux à ta BD.

Espérant t'avoir aidé

@ +

Denis P

"Alex Bertato" a écrit dans le message de
news:bq76f9$fvg$
> Bonjour,
> nous avons créé un petite appli qui va lire une table dans Access XP, bd
> installée sur un share. Les utilisateurs ne font que lire la table et
n'ont
> pas besoin de modifier ou d'ajouter quoi que se soit..
> Le code ci-dessous établit la connection et met les données dans un
> datagrid.
> Le problème c'est que si l'on veut modifier la bd pour y ajouter


qqchose,
ce
> n'est pas possible, il y a un message comme quoi la bd est en mode
> read-only....
> Je croyais que en tant que créateur de la bd je pouvais l'ouvrir en mode
> exclusif comme avec access 97 et ajouter de nouvelles données, même si
cette
> base était utilisée par les utilisateurs qui sont eux en read-only (?)
> justement.
> Comme vous le voyez on n'est pas des spécialistes d' Access et si
quelqu'un
> pouvait nous éclairer, se serait sympa.
> Merci d'avance.
> alex
>
> Dim db1 As adodb.Connection ' base de donnée
bd_Trad.mdb
> Dim adoPrimaryRS1 As adodb.Recordset 'recordset de la table1 de la BD
> bd_Trad.mdb
>
> Private Sub Form_Load()
>
> 'routine à la création de la feuille
>
> lbl_version.Caption = " Vers.: " & App.Major & "." & App.Minor & "."


&
> App.Revision
>
> 'Ouverture de la BD "textes traduction"
> Set db1 = New Connection
> db1.CursorLocation = adUseClient
> db1.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data
>



Source=MoenchO-Catia-StandardStandard_CatiaUebersetzung_Traductionbd_T
> rad.mdb;"
> Set adoPrimaryRS1 = New Recordset
> adoPrimaryRS1.Open "select DE,EN,FR,Classe from Table1 Order by DE",
> db1, adOpenStatic, adLockReadOnly
>
> Set DataGrid1.DataSource = adoPrimaryRS1
>
>