Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2010, 18h18   #1
Membre à l'essai
 
Inscription : avril 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 38
Points : 20
Points : 20
Par défaut Lire et écrire dans une propriété de la base de donnée

Bonjour,

Je souhaite gérer les versions des front-end (fichier access ne contenant que les formulaires) que je met à disposition.

Lorsque j'ajoute une fonctionnalité supplémentaire je copie ma nouvelle version sur le disque du serveur.

Lors de la prochaine ouverture d'un front-end il doit vérifier que la version serveur est identique à celle utilisée sinon fermeture, copie et réouverture.

Je n'avais pas de problème jusqu'à présent car je gérais les versions avec une table locale.

Mais maintenant je suis passé à un projet adp et il n'y a plus de possibilité de table locale.

J'envisage de faire évoluer une propriété personnalisée (Référence au format date) de la base de donnée pour indiquer mes nouvelles versions mais je ne sais pas la lire en vba.

J'en appelle donc à votre aide
JesusHansHuberVorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 19h00   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 049
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 049
Points : 1 229
Points : 1 229
Bonsoir,
Pourquoi ne pas directement indiquer la version dans le nom du fichier sur le serveur, ex: "FrontEnd-1.2.1.adp" ?
ilank est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 23h28   #3
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Par défaut Gerer les versions sur une table dédiée

Bonsoir,

La solution la plus complète que je verrais serait une table sur ton serveur, gérant les versions présentes en local chez chaque utilisateur +,une table de référence où tu inscrit la version de la config actuelle.
Ceci à condition bien sur que tu puisse connaire exactement ton parc d'utilisateurs.

Ta table aurait la structure suivante
- nom de l'utilisateur
- Date de dernier accès
- version présente

Lorsque que le front-end se connecte, il lance une requête qui compare la version présente avec la version en cours, et le résultat déclenche les traitements ad-hoc.
Lors de la mise à jour du front-end, il suffira de mettre à jour dans la table le n° de version présente.

Bon courage !
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 12h01   #4
Membre à l'essai
 
Inscription : avril 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 38
Points : 20
Points : 20
Merci,

La solution de la table sur serveur indiquant la version la plus à jour me plais beaucoup. Je l'adopte

Maintenant se pose pour moi de faire reconnaitre au front-end qui s'ouvre de quelle version il est, hormis par son nom qui peut-être changer .
JesusHansHuberVorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 13h37   #5
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Pour moi, la solution me parait simple à mettre en oeuvre.

Lorsque le front-end se connecte la première fois, il n'aura pas d'enregistrement dans la table à son nom. Cela veut dire qu'il aura téléchargé la nouvelle version. Dans ce cas, il y aura initialisation avec la version que tu aura déterminée.

Les fois suivantes, il y aura juste une comparaison avec la version stockée dans la table utilisateurs/version et le n° de version du front-end.

Dans le principe, il s'agit juste de déporter le contrôle, qui était fait en local dans tes versions précédentes, sur le serveur.

La principale difficulté sera de récupérer une variable permettant d'identifier exactement l'utilisateur.
Il y a surement une variable système qui peut être récupérée sous Access (là, je laisse le soin à des experts de te conseiller laquelle); si ce nest pas le cas, tu doit forcément pouvoir identifier les front-end par leur adresse IP, ou par un identifiant dépendant de la config serveur (là non plus, ce n'est pas mon domaine, mais tu peux demander à des experts en ActiveDirectory, ou autre réseau, qui doivent maitriser ça sur le bout du clavier !!)

Bon courage
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 18h35   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 049
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 049
Points : 1 229
Points : 1 229
Bonsoir,
est-ce réellement plus simple d'utiliser un fichier externe pour qu'un projet connaisse lui-même sa version ?
Les projets ADP n'ont-ils pas aussi accès aux CurrentProject.Properties ?
ilank est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 20h52   #7
Membre à l'essai
 
Inscription : avril 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 38
Points : 20
Points : 20
Bonsoir,

CurrentProject.Properties est en lecture seule mais ça suffit pour vérifier la version du projet adp.

Comment maintenant ajouter une propriété ou modifier (même en manuel) une propriété actuelle afin de la faire évoluer ?
JesusHansHuberVorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 12h03   #8
Membre Expert
 
Inscription : avril 2006
Messages : 1 049
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 049
Points : 1 229
Points : 1 229
Bonjour,
essaie
Code :
CurrentProject.Properties.Add (nompropriete as string, valeurpropriete)
Ex:
Code :
CurrentProject.Properties.Add "version","1.0.0"
ilank est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 14h15   #9
Membre à l'essai
 
Inscription : avril 2009
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 38
Points : 20
Points : 20
Bonjour,

Encore une fois c'était tout simple

J'ai utilisé ce code pour la création :
Code :
CurrentProject.Properties.Add "Version", "1.0.0"
Celui la pour la mise à jour de mon formulaire :
Code :
txtVersion = CurrentProject.Properties("Version")
Et celui la pour modifier la version :
Code :
CurrentProject.Properties.Item("Version") = txtVersion
Si vous saviez le temps que j'ai passé dessus en essayant par les dates de création, de modification entre autres ...

Mille mercis

Ce qui est bien avec ce forum c'est que je n'aurai pas à vous embrasser mais le coeur y est
JesusHansHuberVorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h52.


 
 
 
 
Partenaires

Hébergement Web