OVH Cloud OVH Cloud

Comment faire Base en lecture seule ?

15 réponses
Avatar
Bruno Frisque
Bonjour le Groupe,

Un de mes petits programmes .MDE (A2K) tourne sur une dizaine de stations.
La Base étant sur un serveur.
On me demande d'avoir une station de plus, mais sans possibilité de
changement des records.
Donc, le même Prog.mde, mais en lecture seule, càd consultations et
impressions seulement.

Comment faire, simplement, pour avoir CE Progr là en consultation only ?
(ai tenté Options, Customize, Lock all records, mais cela ne change rien ..)

D'avance grand merci.
A bientôt

5 réponses

1 2
Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Oui, et c'est ce que je fais.
Tu peux tous les ouvrir, les sélectionner, demander les propriétés et les
changer.
un quart d'heure ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %
Merci réponse,

Mais cette solution nécessite la modification d'une 30taine de forms ..
Et donc aussi un nouveau programme ...

Je cherchais plus simple.
Merci quand même.


"Blaise Cacramp" wrote in message
news:eo9He%

Selon : Bonjour ou bonsoir

Vous ne pouvez pas donner un accès direct aux objets (mode /runtime).
Vous modifiez vos formulaires (onglet données) et mettre à Non les
ajouts, les modifications et suppressions...


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news:
Bonjour le Groupe,

Un de mes petits programmes .MDE (A2K) tourne sur une dizaine de
stations.
La Base étant sur un serveur.
On me demande d'avoir une station de plus, mais sans possibilité de
changement des records.
Donc, le même Prog.mde, mais en lecture seule, càd consultations et
impressions seulement.

Comment faire, simplement, pour avoir CE Progr là en consultation only ?
(ai tenté Options, Customize, Lock all records, mais cela ne change rien
..)

D'avance grand merci.
A bientôt












Avatar
Bruno Frisque
Merci Cdt,

Ben oui .. si il n'y a que ça à faire ...
1/4 heure ?
Moui, c'est donc faisable.

Encore merci en tout cas.
BF

"Blaise Cacramp" wrote in message
news:
Selon : Bonjour ou bonsoir

Oui, et c'est ce que je fais.
Tu peux tous les ouvrir, les sélectionner, demander les propriétés et les
changer.
un quart d'heure ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %
Merci réponse,

Mais cette solution nécessite la modification d'une 30taine de forms ..
Et donc aussi un nouveau programme ...

Je cherchais plus simple.
Merci quand même.


"Blaise Cacramp" wrote in message
news:eo9He%

Selon : Bonjour ou bonsoir

Vous ne pouvez pas donner un accès direct aux objets (mode /runtime).
Vous modifiez vos formulaires (onglet données) et mettre à Non les
ajouts, les modifications et suppressions...


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news:
Bonjour le Groupe,

Un de mes petits programmes .MDE (A2K) tourne sur une dizaine de
stations.
La Base étant sur un serveur.
On me demande d'avoir une station de plus, mais sans possibilité de
changement des records.
Donc, le même Prog.mde, mais en lecture seule, càd consultations et
impressions seulement.

Comment faire, simplement, pour avoir CE Progr là en consultation only
?
(ai tenté Options, Customize, Lock all records, mais cela ne change
rien ..)

D'avance grand merci.
A bientôt
















Avatar
Bruno Frisque
Merci,

Mais si, si 1 Query a 2 tables, avec Key dedans, on peut très bien modifier
les champs des 2 tables ...
Et c'est même bon de la savoir pour qqu'un qui le fait et entend Beep Beep à
chaque tentative de modif.
Ayez des Index ....

Allez merci.
A+
BF


"Jac" wrote in message
news:
Bonjour Bruno,

c'est là qu'un défaut peut devenir qualité. Si une requête a plus de deux
tables, on ne peut plus écrire dans les tables (si ma mémoire ne me fait
pas défaut... et je suis un peu overbooké pour revoir la chose) donc par
le fait, elles passent en lecture seule.
Donc, tu pourrais essayer de créer une table ou deux avec un seul champ
vide ou pas, à tester, que tu ajouterais à chacune de tes requêtes. Même
plus sûr de devoir faire des liaisons. Faut voir.

On en reparle quand tu veux.

Jac

Bruno Frisque a pensé très fort :
Bonjour le Groupe,

Un de mes petits programmes .MDE (A2K) tourne sur une dizaine de
stations.
La Base étant sur un serveur.
On me demande d'avoir une station de plus, mais sans possibilité de
changement des records.
Donc, le même Prog.mde, mais en lecture seule, càd consultations et
impressions seulement.

Comment faire, simplement, pour avoir CE Progr là en consultation only ?
(ai tenté Options, Customize, Lock all records, mais cela ne change rien
..)

D'avance grand merci.
A bientôt






Avatar
Bruno Frisque
Voila, bien testé !

La réponse est OUI MAIS.
Effectivement si on fait des Queries sur les (4) tables et on put le
RecordsetType sur Snapshot, he bien oui les tables sont en lecture only!!
Bravo pour ça, fallait y penser.
Le Mais ?
Les autres 10 users ont le même avantage/désavantage, càd ils n'ont plus du
tout accès à leurs fichiers ...

C'est 1 peu long à expliquer, mais le MDE se reconfigure sous VBA, en
fonction du nom du serveiur, et alors le user recopie ce MDE, reconfiguré
(relinké), sur les autres stations ...
Comment intervenir alors pour que 1 d'entre eux n'ait pas l'accès en
écriture ?
Oui oui, c'est compliqué, mais c'est la vie des (petits) développeurs çà
....

Encore tout grand Merci !
A+
BF



"Denis" wrote in message
news:ha27pq$rvl$
Le Wed, 30 Sep 2009 11:44:01 +0200, Bruno Frisque a écrit :

Bonjour le Groupe,

Un de mes petits programmes .MDE (A2K) tourne sur une dizaine de
stations. La Base étant sur un serveur.
On me demande d'avoir une station de plus, mais sans possibilité de
changement des records.
Donc, le même Prog.mde, mais en lecture seule, càd consultations et
impressions seulement.

Comment faire, simplement, pour avoir CE Progr là en consultation only ?
(ai tenté Options, Customize, Lock all records, mais cela ne change rien
..)

D'avance grand merci.
A bientôt



Un truc à tenter, peut-être, avec un nombre d'intervention limitées :
- renomme les tables de la base (ou les liens si ce sont des tables
attachées) ;
- pour chaque table, crée une requête portant exactement le même nom que
la table d'origine, construite sur la table renommée (un simple SELECT *
FROM TableRenommée). Dans les propriétés de la requête, tu mets Type
Recordset = Instantané.

Cette modif est transparente pour le reste de l'application, mais toutes
les tables seront en lecture seule.

Par contre, l'instantané peut plomber un peu les performances...



--
Envoyer des mails depuis Access, avec ou sans pièce jointe ?
http://www.self-access.com/cms/access/assistants/libmail
-----
Les chiffres dans mon adresse sont de trop.


Avatar
Denis
Le Thu, 01 Oct 2009 21:17:44 +0200, Bruno Frisque a écrit :

Voila, bien testé !

La réponse est OUI MAIS.
Effectivement si on fait des Queries sur les (4) tables et on put le
RecordsetType sur Snapshot, he bien oui les tables sont en lecture
only!! Bravo pour ça, fallait y penser.
Le Mais ?
Les autres 10 users ont le même avantage/désavantage, càd ils n'ont plus
du tout accès à leurs fichiers ...

C'est 1 peu long à expliquer, mais le MDE se reconfigure sous VBA, en
fonction du nom du serveiur, et alors le user recopie ce MDE,
reconfiguré (relinké), sur les autres stations ... Comment intervenir
alors pour que 1 d'entre eux n'ait pas l'accès en écriture ?
Oui oui, c'est compliqué, mais c'est la vie des (petits) développeurs çà
....

Encore tout grand Merci !
A+
BF



"Denis" wrote in message
news:ha27pq$rvl$
Le Wed, 30 Sep 2009 11:44:01 +0200, Bruno Frisque a écrit :

Bonjour le Groupe,

Un de mes petits programmes .MDE (A2K) tourne sur une dizaine de
stations. La Base étant sur un serveur. On me demande d'avoir une
station de plus, mais sans possibilité de changement des records.
Donc, le même Prog.mde, mais en lecture seule, càd consultations et
impressions seulement.

Comment faire, simplement, pour avoir CE Progr là en consultation only
? (ai tenté Options, Customize, Lock all records, mais cela ne change
rien ..)

D'avance grand merci.
A bientôt



Un truc à tenter, peut-être, avec un nombre d'intervention limitées : -
renomme les tables de la base (ou les liens si ce sont des tables
attachées) ;
- pour chaque table, crée une requête portant exactement le même nom
que la table d'origine, construite sur la table renommée (un simple
SELECT * FROM TableRenommée). Dans les propriétés de la requête, tu
mets Type Recordset = Instantané.

Cette modif est transparente pour le reste de l'application, mais
toutes les tables seront en lecture seule.

Par contre, l'instantané peut plomber un peu les performances...



--
Envoyer des mails depuis Access, avec ou sans pièce jointe ?
http://www.self-access.com/cms/access/assistants/libmail -----
Les chiffres dans mon adresse sont de trop.





En effet, ça oblige à avoir deux MDE différents, et installer l'un ou
l'autre, selon le cas...
L'avantage, c'est que ça évite de passer tous les formulaires en revue.
L'inconvénient, c'est que ça touche tout le monde...

A priori, je ne vois pas d'autre solution 'globale'...

Je pense que tu devrais de toute manière prendre le problème à la base,
et implémenter une vraie gestion des droits au niveau des formulaires.
Tôt ou tard, tu auras besoin d'une gestion plus fine que 'tout en lecture
seule'. Autant prendre les devants, non ?



--
Envoyer des mails depuis Access, avec ou sans pièce jointe ?
http://www.self-access.com/cms/access/assistants/libmail
-----
Les chiffres dans mon adresse sont de trop.
1 2