OVH Cloud OVH Cloud

Echéance d'utilisation d'une base access

3 réponses
Avatar
PO2B
Re-Bonjour à Tous

Je souhaiterai que ma base (infos commerciales sensibles) ait une durée de
vie limitée.

C'est à dire qu'à partir d'une certaine période, elle ne s'ouvre plus, ou
mieux, qu'à l'ouverture s'éxécute une requête suppression.

L'idéal serait une code qui s'éxécute au démarrage, si la date du jour est
inférieure à la date d'échéance fixée la base s'ouvre normalement,
si la date déchéance est atteinte, à l'ouverture une requête suppression est
lancée (qui vide les tables) et un message s'affiche avisant
l'utilsateur puis la base se ferme.

Avez-vous des idées, pouvez-vous m'aider, notamment pour que le code
s'éxécute au démarrage de la base (j'ai actuellement une macro AutoExec
toute simple)

Merci

Patrice

3 réponses

Avatar
Arnaud [lwa]
Bonjour PO2B,

Crée une requête "QryPurge"

DELETE * FROM LaTable WHERE LaDate < Date() ;

Et dans la macro autoexec,
avertissements non
ouvrir requete QryPurge
avertissements oui
boite de message "coucou"
fermer base


--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------


| Re-Bonjour à Tous
|
| Je souhaiterai que ma base (infos commerciales sensibles) ait une
| durée de vie limitée.
|
| C'est à dire qu'à partir d'une certaine période, elle ne s'ouvre
| plus, ou mieux, qu'à l'ouverture s'éxécute une requête suppression.
|
| L'idéal serait une code qui s'éxécute au démarrage, si la date du
| jour est inférieure à la date d'échéance fixée la base s'ouvre
| normalement,
| si la date déchéance est atteinte, à l'ouverture une requête
| suppression est lancée (qui vide les tables) et un message s'affiche
| avisant
| l'utilsateur puis la base se ferme.
|
| Avez-vous des idées, pouvez-vous m'aider, notamment pour que le code
| s'éxécute au démarrage de la base (j'ai actuellement une macro
| AutoExec toute simple)
|
| Merci
|
| Patrice
Avatar
Eric
Bonjour PO2B

Tu crées une fonction dans un module standard du genre:

Function PurgeBase(DateCourante As Date)
If DateCourante > #7/30/2004# Then ' date déchance en dur ici
Dim strSQL As String, tbl As DAO.TableDef
For Each tbl In CurrentDb.TableDefs
If Left(tbl.Name, 4) <> "Msys" Then
strSQL = "Delete * from [" & tbl.Name & "];"
CurrentDb.Execute strSQL
End If
Next tbl
MsgBox "Date d'utilisation dépassée depuis " & _
DateDiff("d", #7/30/2004#, DateCourante) & _
" jours", vbCritical
DoCmd.Quit
End If
End Function

Cette fonction vide toutes tes tables, sauf les tables-système.

Tu appelles cette fonction dans la macro AutoExec
Action: ExécuterCode
Nom Fonction: PurgeBase(Date())

A+
Eric

PS: Fais une sauvegarde de la BD avant et testes avec une limite
d'utilisation au 29/07/2004

"PO2B" écrivait
news:#:

Re-Bonjour à Tous

Je souhaiterai que ma base (infos commerciales sensibles) ait une
durée de vie limitée.

C'est à dire qu'à partir d'une certaine période, elle ne s'ouvre plus,
ou mieux, qu'à l'ouverture s'éxécute une requête suppression.

L'idéal serait une code qui s'éxécute au démarrage, si la date du jour
est inférieure à la date d'échéance fixée la base s'ouvre normalement,
si la date déchéance est atteinte, à l'ouverture une requête
suppression est lancée (qui vide les tables) et un message s'affiche
avisant l'utilsateur puis la base se ferme.

Avez-vous des idées, pouvez-vous m'aider, notamment pour que le code
s'éxécute au démarrage de la base (j'ai actuellement une macro
AutoExec toute simple)

Merci

Patrice





Avatar
PO2B
Merci à tous les deux.

"PO2B" a écrit dans le message de
news:%
Re-Bonjour à Tous

Je souhaiterai que ma base (infos commerciales sensibles) ait une durée de
vie limitée.

C'est à dire qu'à partir d'une certaine période, elle ne s'ouvre plus, ou
mieux, qu'à l'ouverture s'éxécute une requête suppression.

L'idéal serait une code qui s'éxécute au démarrage, si la date du jour est
inférieure à la date d'échéance fixée la base s'ouvre normalement,
si la date déchéance est atteinte, à l'ouverture une requête suppression
est

lancée (qui vide les tables) et un message s'affiche avisant
l'utilsateur puis la base se ferme.

Avez-vous des idées, pouvez-vous m'aider, notamment pour que le code
s'éxécute au démarrage de la base (j'ai actuellement une macro AutoExec
toute simple)

Merci

Patrice