Alternative aux triggers sous access

Résolu/Fermé
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 - 9 févr. 2007 à 10:25
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 - 9 févr. 2007 à 17:27
Bonjour,
j'ai un petit souci que je n'arrive pas à résoudre et qui me bloque. En fait, j'ai une base de données access avec plusieurs tables:

desc(numdesc, indic,...)
geo(numgeo,nom,...)
valeur(numdesc#,numgeo#,valeur,année
)

la valeur (3è champs table valeur), correspond à la valeur d'un indic(table desc 2è champs) pour une zone géographique précise (table geo) à une date donnée (dernier champs table valeur)

bref, cette valeur est saisie à la main pour certains indic et calculée pour d'autre.

les utilisateurs remplissent les tables de la base directement sans passer par des formulaires. il prennet les données d'ailleurs et font un simple copier coller.

par contre il faut que je crée une procédure vba ou une requête qui se chargera de calculer la valeur lorsque celle-ci doit l'être, pour la mettre dans la base de données. mais ceci doit etre fait lorsque les utilisateurs remplissent les valeurs qui ne sont pas calculées.

en résumé je dois faire un trigger qui se lancera après l'ajout dans la table valeur.
or je ne crois pas que l'on puisse faire des trigger avec access.

quelqu'un aurait-il une sulotion?

Merci.

PS: nous n'utilisonss pas d'autre sgbd que access, ni oracle, ni sql server, pas même my_sql.
A voir également:

1 réponse

blux Messages postés 26498 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 28 novembre 2024 3 317
9 févr. 2007 à 11:18
Salut,

si les entrées de données se font via un formulaire, tu as tout loisir de créer n'importe quelle procédure qui se produit sur un évènement particulier : ajout d'un record, absence d'une saisie dans une zone...

Le choix est vaste, mais c'est la solution à ton souci...

Une question en passant, pourquoi calculer une valeur pour la mettre dans un champ ? ça fait doublon, non ? alors qu'on peut l'avoir en calculant quand on en aura besoin...
0
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 8
9 févr. 2007 à 11:43
salut et merci pour ta réponse.

le souci c'est que les entrées se font directement sur la base et non pas par un formulaire: l'administrateur fait un copier coller des données qu' il a récupérer via un autre logiciel.
donc je ne peux pas réaliser ta solution vu qu'il n'y a pas de formulaire.

Pour ce qui est des données calculées je ne vois pas pourquoi il y aurait des doublons: en fait dans les données que l'admin va entrer dans la base access il y aura des ligne avec valeur = qqchose et d'autres où la valeur sera à caluler en fonction des autres valeurs pré-entrée dans la bd.
c'est vrai que je pourais les calculer lors de l'affichage, mais j'essai de faire en sorte que mes requêtes d'affichage soit optimisée au maximum afin que l'affichage se fasse le plus rapidement possibe.

or ma table peut contenir plus de 120 000 enregistrement et lutilisateur peut choisir d'afficher autant de valeur qu'il souhaite. donc sii en plus je dois faire les calculs avant d'afficher c'est pas gagner.

non, un choix à été fait à ce niveau: l'appli tournera sur le web en asp et l'administration se fera directement sur acces.
0
blux Messages postés 26498 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 28 novembre 2024 3 317
9 févr. 2007 à 12:59
Pas de solution simple, voire pas de solution du tout...

Le seul moyen, c'est de faire une interface de saisie pour l'admin, même s'il fait des copier-coller dedans...
0
mohcultiv Messages postés 48 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 19 juin 2007 8
9 févr. 2007 à 17:27
ok pas de souci,

merci quand meme blux.
0