Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Limiter l'ouverture d'une BD à un nombre de fois...

16 réponses
Avatar
Butch
Bonjour,

Version Access XP:

Est-il possible de faire en sorte d'empêcher l'ouverture d'une base de
données après que celle-ci fut ouverte un certain nombre de fois ?
Exemple: Après 5 ouvertures de la base, empêcher que l'usager puisse
l'ouvrir une sixième fois et faire afficher un message indiquant que le
nombre d'utilisations a été atteint?

De plus, est-il aussi possible, lors de la fermeture de la base au moment de
la dernière utilisation, de supprimer toutes les données qui auraient été
inscrites dans les tables (par l'entremise de formulaires) par l'usager ?

Pourquoi cela ? J'aimerais offrir à de futurs usagers, la possibilité
d'utiliser une base de données afin qu'ils déterminent leurs besoins futurs
sans pour autant leur laisser l'usage définitif de la base.

Merci à qui pourrait me fournir de l'information à ce sujet, du moins en ce
qui concerne le nombre de fois où la base pourrait être ouverte.

Butch

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

lors de l'installation tu crés un fichier sans rapport avec tes noms dans un
répertoire windows système introuvable, dans lequel tu places la date de
première ouverture et à chaque ouverture tu rajoutes 1. A la sixième, tu
vides tout . si la date est > 3 mois tu supprimes la base.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Butch" a écrit dans le message de news:
G43Td.126393$
Bonjour,

Version Access XP:

Est-il possible de faire en sorte d'empêcher l'ouverture d'une base de
données après que celle-ci fut ouverte un certain nombre de fois ?
Exemple: Après 5 ouvertures de la base, empêcher que l'usager puisse
l'ouvrir une sixième fois et faire afficher un message indiquant que le
nombre d'utilisations a été atteint?

De plus, est-il aussi possible, lors de la fermeture de la base au moment
de
la dernière utilisation, de supprimer toutes les données qui auraient été
inscrites dans les tables (par l'entremise de formulaires) par l'usager ?

Pourquoi cela ? J'aimerais offrir à de futurs usagers, la possibilité
d'utiliser une base de données afin qu'ils déterminent leurs besoins
futurs
sans pour autant leur laisser l'usage définitif de la base.

Merci à qui pourrait me fournir de l'information à ce sujet, du moins en
ce
qui concerne le nombre de fois où la base pourrait être ouverte.

Butch




Avatar
Butch
Bonjour Raymond,

Merci pour tes explications. J'en comprend "le sens général" mais...
n'étant pas à l'aise avec ces procédures je n'arrive pas à saisir le
"comment faire"! Si cela est possible, j'aimerais avoir quelques
explications et/ou exemples supplémentaires. Voici donc mes interrogations:

lors de l'installation tu crés un fichier sans rapport avec tes noms
1. Ce fichier est créé avec quel programme (Access ??) et à quoi pourraient

ressembler les "commandes" qu'il contiendrait ? Quels sont ces "noms"
auxquels tu fais référence (les objets de la BD ?) ?

dans un répertoire windows système introuvable
2. Doit-il s'agir d'un répertoire déjà existant ? Si oui, lequel ? Faut-il

en créer un et lui appliquer l'attribut "Masqué" ? Ex: Dans
C:windowssystemetc.?

dans lequel tu places la date de première ouverture et à chaque ouverture
tu rajoutes 1.

3. Un exemple de cette commande dans le fichier mentionné serait appréciée.

A la sixième, tu vides tout . si la date est > 3 mois tu supprimes la base.
4. Cette "commande" serait aussi placée dans le fichier sans rapport?

Est-ce qu'elle supprimerait automatiquement la BD ? Si oui, quelle serait
alors la commande pour supprimer la BD ?

Voilà... tu constates sûrement que, malgré que j'ai compris "le sens
général", je n'ai aucune idée sur le comment faire cela! Je comprendrai si
tu n'as pas le temps de répondre à mes questions en me fournissant des
exemples sachant que les autres MVP et toi-même "avez d'autres chats à
fouetter" (Réf: Québec, pour "autre chose à faire").

Allez... Gros merci!
Butch

Avatar
Raymond [mvp]
Bonjour.

regarde la gestion d'un fichier .ini :
http://officesystem.access.free.fr/telecharger/rsini.zip
je crois que je vais compléter cette base exemple pour faire un contrôle de
temps qui solutionnerait ton cas. je te tiens au courant.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Butch" a écrit dans le message de news:
7N7Td.88653$
Bonjour Raymond,

Merci pour tes explications. J'en comprend "le sens général" mais...
n'étant pas à l'aise avec ces procédures je n'arrive pas à saisir le
"comment faire"! Si cela est possible, j'aimerais avoir quelques
explications et/ou exemples supplémentaires. Voici donc mes
interrogations:

lors de l'installation tu crés un fichier sans rapport avec tes noms
1. Ce fichier est créé avec quel programme (Access ??) et à quoi

pourraient
ressembler les "commandes" qu'il contiendrait ? Quels sont ces "noms"
auxquels tu fais référence (les objets de la BD ?) ?

dans un répertoire windows système introuvable
2. Doit-il s'agir d'un répertoire déjà existant ? Si oui, lequel ?

Faut-il
en créer un et lui appliquer l'attribut "Masqué" ? Ex: Dans
C:windowssystemetc.?

dans lequel tu places la date de première ouverture et à chaque ouverture
tu rajoutes 1.

3. Un exemple de cette commande dans le fichier mentionné serait
appréciée.

A la sixième, tu vides tout . si la date est > 3 mois tu supprimes la
base.
4. Cette "commande" serait aussi placée dans le fichier sans rapport?

Est-ce qu'elle supprimerait automatiquement la BD ? Si oui, quelle serait
alors la commande pour supprimer la BD ?

Voilà... tu constates sûrement que, malgré que j'ai compris "le sens
général", je n'ai aucune idée sur le comment faire cela! Je comprendrai
si
tu n'as pas le temps de répondre à mes questions en me fournissant des
exemples sachant que les autres MVP et toi-même "avez d'autres chats à
fouetter" (Réf: Québec, pour "autre chose à faire").

Allez... Gros merci!
Butch





Avatar
Raymond [mvp]
Bonjour.

tu trouveras une procédure exemple pour limiter la validité sur la page:
http://officesystem.access.free.fr/ex_date_limite.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

regarde la gestion d'un fichier .ini :
http://officesystem.access.free.fr/telecharger/rsini.zip
je crois que je vais compléter cette base exemple pour faire un contrôle
de temps qui solutionnerait ton cas. je te tiens au courant.
--


Avatar
Butch
Bonjour Raymond,

GROS Merci pour les liens, la BD exemple et les explications.

Je "regarde" tout cela dès maintenant... le VBA ne m'est pas familier mais
j'y travaille!
En ce qui concerne ta base exemple (fichier .ini) je vois bien qu'il s'agit
d'un formulaire permettant d'insérer des commandes pour créer un fichier
.ini.
Mais... j'étudie aussi cela car, actuellement, je ne sais trop quoi écrire
dans les champs "valeur".
J'ai aussi imprimé l'information sur OfficeSystem.Access (site que tu m'as
aussi proposé). Je vais tenter cette approche dans ma BD.

Encore MERCI.
Butch
Avatar
Butch
Bonjour Raymond,

J'ai utilisé les informations de la rubrique "Date Limite de Validité"
données sur le site OfficeSystem.Access dans ma base de données. Mai j'ai
encore des "creux" !

J'ai recréé dans ma BD, tous les objets (formulaire - macro autoexec -
Module et Module de classe). Mais, de toute évidence, il y a quelque chose
qui m'échappe! Voici ce qui se passe lorsque je teste ma BD.

Entre autre, est-ce que le Module de classe est "intégré" dans le Module
Standard ou doit-on alors voir 2 objets différents dans la liste des modules
une fois qu'ils sont enregistrés? Et aussi... ce qui suit:

1. Je ne retrouve pas sur mon disque le fichier mentionné dans la
description des opérations et dont le nom apparaît dans le module de classe
"TestControlClass". C'est le fichier File1033.dll. Est-ce que ce fichier
est sensé se créer automatiquement ? De plus le dossier 1033 sous
C:WindowsSystem32 n'existe pas non plus.

2. Même après avoir modifié la date de mon système pour tester le délai
d'expiration, ma BD s'ouvre quand même.

3. Cependant, si j'indique, dans le menu "Afficher formulaire/page" de
Outils > Démarrage, de charger le formulaire contenant la fonction
TestMaxDate(120), là, peu importe la date du système, la BD s'ouvre en
affichant seulement le formulaire contenant la fonction placée sur
Form_load... c'est ça que je cherche mais...ça ne se produit pas comme il le
faudrait.

4. Donc, comment se déclenche la vérification de l'expiration du délai?
Par la fonction dans le formulaire?? Si oui, comment faire fonctionner cela
sans indiquer le nom de ce formulaire dans le menu "Afficher
formulaire/page" puisque de toute évidence, à ce moment, peu importe la
date, la BD ne s'ouvre plus!

Bon... j'espère que tu n'es pas trop "désespéré" en me lisant de nouveau.
L'apprentissage c'est "dur - dur". Merci encore.

Butch
Avatar
Codial
Bonsoir,

au départ il s'agissait d'ouvrir une base un certain nombre de fois!

Pourquoi ne pas créer une table avec un champ numérique et à chaque
lancement de l'appli incrémenter ce champ et au bout de x fois faire un
message avec Application.Quit

D'ailleurs, il est possible également d'informer l'utilisateur à l'aide
d'une MsgBox qui lui indique le nombre de fois qu'il lui reste.

Je me trompe?

Cordialement

Codial



"Butch" a écrit dans le message de news:
G43Td.126393$
Bonjour,

Version Access XP:

Est-il possible de faire en sorte d'empêcher l'ouverture d'une base de
données après que celle-ci fut ouverte un certain nombre de fois ?
Exemple: Après 5 ouvertures de la base, empêcher que l'usager puisse
l'ouvrir une sixième fois et faire afficher un message indiquant que le
nombre d'utilisations a été atteint?

De plus, est-il aussi possible, lors de la fermeture de la base au moment
de
la dernière utilisation, de supprimer toutes les données qui auraient été
inscrites dans les tables (par l'entremise de formulaires) par l'usager ?

Pourquoi cela ? J'aimerais offrir à de futurs usagers, la possibilité
d'utiliser une base de données afin qu'ils déterminent leurs besoins
futurs
sans pour autant leur laisser l'usage définitif de la base.

Merci à qui pourrait me fournir de l'information à ce sujet, du moins en
ce
qui concerne le nombre de fois où la base pourrait être ouverte.

Butch




Avatar
Codial
Bonsoir,

Sinon s'il s'agit de créer une date d'expiration pour une application voir
là:

http://mypage.bluewin.ch/w.stucki/Admin.htm#DateExpiration

Cordialement

Codial


"Butch" a écrit dans le message de news:
G43Td.126393$
Bonjour,

Version Access XP:

Est-il possible de faire en sorte d'empêcher l'ouverture d'une base de
données après que celle-ci fut ouverte un certain nombre de fois ?
Exemple: Après 5 ouvertures de la base, empêcher que l'usager puisse
l'ouvrir une sixième fois et faire afficher un message indiquant que le
nombre d'utilisations a été atteint?

De plus, est-il aussi possible, lors de la fermeture de la base au moment
de
la dernière utilisation, de supprimer toutes les données qui auraient été
inscrites dans les tables (par l'entremise de formulaires) par l'usager ?

Pourquoi cela ? J'aimerais offrir à de futurs usagers, la possibilité
d'utiliser une base de données afin qu'ils déterminent leurs besoins
futurs
sans pour autant leur laisser l'usage définitif de la base.

Merci à qui pourrait me fournir de l'information à ce sujet, du moins en
ce
qui concerne le nombre de fois où la base pourrait être ouverte.

Butch




Avatar
Raymond [mvp]
Modifies les répertoires et indiques des répertoires existants ( 1033
devrait exister)
il y a 2 modules, 1 modules standard et 1 module de classe, dans la création
de module sous vbe ça indique les différents modules à créer.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Butch" a écrit dans le message de news:
quGTd.62969$
Bonjour Raymond,

J'ai utilisé les informations de la rubrique "Date Limite de Validité"
données sur le site OfficeSystem.Access dans ma base de données. Mai j'ai
encore des "creux" !

J'ai recréé dans ma BD, tous les objets (formulaire - macro autoexec -
Module et Module de classe). Mais, de toute évidence, il y a quelque
chose
qui m'échappe! Voici ce qui se passe lorsque je teste ma BD.

Entre autre, est-ce que le Module de classe est "intégré" dans le Module
Standard ou doit-on alors voir 2 objets différents dans la liste des
modules
une fois qu'ils sont enregistrés? Et aussi... ce qui suit:

1. Je ne retrouve pas sur mon disque le fichier mentionné dans la
description des opérations et dont le nom apparaît dans le module de
classe
"TestControlClass". C'est le fichier File1033.dll. Est-ce que ce fichier
est sensé se créer automatiquement ? De plus le dossier 1033 sous
C:WindowsSystem32 n'existe pas non plus.

2. Même après avoir modifié la date de mon système pour tester le délai
d'expiration, ma BD s'ouvre quand même.

3. Cependant, si j'indique, dans le menu "Afficher formulaire/page" de
Outils > Démarrage, de charger le formulaire contenant la fonction
TestMaxDate(120), là, peu importe la date du système, la BD s'ouvre en
affichant seulement le formulaire contenant la fonction placée sur
Form_load... c'est ça que je cherche mais...ça ne se produit pas comme il
le
faudrait.

4. Donc, comment se déclenche la vérification de l'expiration du délai?
Par la fonction dans le formulaire?? Si oui, comment faire fonctionner
cela
sans indiquer le nom de ce formulaire dans le menu "Afficher
formulaire/page" puisque de toute évidence, à ce moment, peu importe la
date, la BD ne s'ouvre plus!

Bon... j'espère que tu n'es pas trop "désespéré" en me lisant de nouveau.
L'apprentissage c'est "dur - dur". Merci encore.

Butch






Avatar
Butch
Bonjour Codial,

Merci pour le lien... cela fonctionne très bien. Mais, une question
supplémentaire:

Avec la méthode suggérée, l'usager peut probablement ouvrir de nouveau la
base de données s'il modifie la date de son système pour une date antérieure
à la date limite. Ai-je raison?
Alors, est-il possible d'ajouter au code, une fonction empêchant cela ou, de
façon plus "drastique", de faire supprimer automatiquement tous les objets
(ou les tables, par exemple) lorsque la BD est ouverte après la date
d'expiration?
Je sais qu'il y aurait probabablement pour un usager de contourner cette
disposition mais quand même...

Merci,
Butch

"Codial" a écrit dans le message de
news:
Bonsoir,

Sinon s'il s'agit de créer une date d'expiration pour une application
voir

là:

http://mypage.bluewin.ch/w.stucki/Admin.htm#DateExpiration

Cordialement

Codial


1 2