Mises à jour de MySysObjects

Le
Sysinfo
Bonjour,
Avec un collègue, nous avons réalisé (sur Access97) une appli de gestion
commerciale dans laquelle nous nous servions des objets systèmes pour
effectuer des Mises à jour de l'appli chez notre client.
Plus précisément en utilisant dans la table MySysObjects le fait qu'elle se
comporte comme un journal enregistrant toutes les modifications effectuées
dans les objets Forms, Queries, Etats, Modules, Macros. Le principe était de
récupérer les objets récemment modifiés, et uniquement eux, dans une petite
base (appelée "valise") que nous importions chez notre client en tant que
mise à jour de son appli.
Or, depuis que nous avons migré (MS oblige!!!) vers office 2000, puis
2002, puis 2003(on a tout essayé !!!) plus moyen de faire nos
"valises"car le champ "DateUpdate" de la table MySysObjects n'est plus mis
à jour à chaque modification d'objet, seule la création d'un nouvel objet
est enregistrée. Est-ce une nouvelle façon de travailler d'Access2003 ou
bien y aurait-il quelque chose qui nous a échappé, une case à cocher, un
complément à installer.?
On s'adresse donc aux pointures de ce groupe en espérant que l'une d'elles
aura un p'tit début, voire un "entier" de solution à nous proposer, nous
comptons sur vous !
Nous sommes sous XP SP2 (home et pro) et Off2003.
Bien amicalement

Christian
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6282831
Bonsoir.

la façon de travailler est toujours la même et surtout le principe que les
tables système ne doivent pas être utilisées pour les applications car elles
sont susceptibles d'être modifiées et changer de signification selon les
versions. depuis 97, il y a eu 4 nouvelles versions, c'est dire que quoi
que tu fasses tu ne pourras pas satisfaire les 4 versions en même temps. et
surtout il existe de nouvelles collections pour traiter l'ensemble des
objets Access sans passer par une table système. je te conseille donc
d'harmoniser tes applications avec les nouvelles possibilités qui sont
apparues à la version 2000 et complétées en version 2002, 2003 et 2007.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix ‘07 – Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Sysinfo" 46512ee3$0$27384$
| Bonjour,
| Avec un collègue, nous avons réalisé (sur Access97) une appli de gestion
| commerciale dans laquelle nous nous servions des objets systèmes pour
| effectuer des Mises à jour de l'appli chez notre client.
| Plus précisément en utilisant dans la table MySysObjects le fait qu'elle
se
| comporte comme un journal enregistrant toutes les modifications effectuées
| dans les objets Forms, Queries, Etats, Modules, Macros. Le principe était
de
| récupérer les objets récemment modifiés, et uniquement eux, dans une
petite
| base (appelée "valise") que nous importions chez notre client en tant que
| mise à jour de son appli.
| Or, depuis que nous avons migré (MS oblige...!!!) vers office 2000, puis
| 2002, puis 2003...(on a tout essayé !!!) plus moyen de faire nos
| "valises"car le champ "DateUpdate" de la table MySysObjects n'est plus
mis
| à jour à chaque modification d'objet, seule la création d'un nouvel objet
| est enregistrée. Est-ce une nouvelle façon de travailler d'Access2003 ou
| bien y aurait-il quelque chose qui nous a échappé, une case à cocher, un
| complément à installer....?
| On s'adresse donc aux pointures de ce groupe en espérant que l'une d'elles
| aura un p'tit début, voire un "entier" de solution à nous proposer, nous
| comptons sur vous !
| Nous sommes sous XP SP2 (home et pro) et Off2003.
| Bien amicalement
|
| Christian
|
|
Sysinfo
Le #6281431
Bonjour Raymond, merci pour ta réponse.
Cependant nous sommes (apparemment) au même point, notre question étant :
comment récupérer la date de dernière modif d'un objet ? le bout de code
ci-dessous s'obstine à ne nous donner que la date de création et pas celle
de "lastUpdated"

Private Sub Form_Load()
Dim db As DAO.Database
Dim datemodif As Date
Set db = CurrentDb()
datemodif = db.Containers("Forms").Documents("Formulaire1").LastUpdated
MsgBox datemodif
End Sub

Je crois savoir qu'un bug existe, connu de MS depuis Access2000 mais comme
c'est (apparemment) toujours la même DAO 3.6 qui est disponible, on est tjrs
au même point...
Merci de bien vouloir m'éclairer sur la suite à donner pour me sortir de
cette impasse.
Cordialement
Christian



--
Ch FOUREZ
Systèmes Informatiques - Route de Tourbes
34120 PEZENAS
06 13 14 18 56 - Fax 04 67 98 44 02

"Raymond [mvp]" de news: OlpJrb%
Bonsoir.

la façon de travailler est toujours la même et surtout le principe que les
tables système ne doivent pas être utilisées pour les applications car
elles
sont susceptibles d'être modifiées et changer de signification selon les
versions. depuis 97, il y a eu 4 nouvelles versions, c'est dire que quoi
que tu fasses tu ne pourras pas satisfaire les 4 versions en même temps.
et
surtout il existe de nouvelles collections pour traiter l'ensemble des
objets Access sans passer par une table système. je te conseille donc
d'harmoniser tes applications avec les nouvelles possibilités qui sont
apparues à la version 2000 et complétées en version 2002, 2003 et 2007.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Sysinfo" 46512ee3$0$27384$
| Bonjour,
| Avec un collègue, nous avons réalisé (sur Access97) une appli de gestion
| commerciale dans laquelle nous nous servions des objets systèmes pour
| effectuer des Mises à jour de l'appli chez notre client.
| Plus précisément en utilisant dans la table MySysObjects le fait qu'elle
se
| comporte comme un journal enregistrant toutes les modifications
effectuées
| dans les objets Forms, Queries, Etats, Modules, Macros. Le principe
était
de
| récupérer les objets récemment modifiés, et uniquement eux, dans une
petite
| base (appelée "valise") que nous importions chez notre client en tant
que
| mise à jour de son appli.
| Or, depuis que nous avons migré (MS oblige...!!!) vers office 2000, puis
| 2002, puis 2003...(on a tout essayé !!!) plus moyen de faire nos
| "valises"car le champ "DateUpdate" de la table MySysObjects n'est plus
mis
| à jour à chaque modification d'objet, seule la création d'un nouvel
objet
| est enregistrée. Est-ce une nouvelle façon de travailler d'Access2003 ou
| bien y aurait-il quelque chose qui nous a échappé, une case à cocher, un
| complément à installer....?
| On s'adresse donc aux pointures de ce groupe en espérant que l'une
d'elles
| aura un p'tit début, voire un "entier" de solution à nous proposer, nous
| comptons sur vous !
| Nous sommes sous XP SP2 (home et pro) et Off2003.
| Bien amicalement
|
| Christian
|
|




Raymond [mvp]
Le #6281401
Bonjour.

tu as oublié les nouvelles propriétés apportées par la version 2002:
DateCreated et DateModified.

exemple pour la date des états:
Dim acobjLoop As AccessObject

For Each acobjLoop In CurrentProject.AllReports
With acobjLoop
Debug.Print .Name & " - Created " & .DateCreated _
& " - Modified " & .DateModified
End With
Next acobjLoop

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix ‘07 – Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Sysinfo" 465531b8$0$27413$
| Bonjour Raymond, merci pour ta réponse.
| Cependant nous sommes (apparemment) au même point, notre question étant :
| comment récupérer la date de dernière modif d'un objet ? le bout de code
| ci-dessous s'obstine à ne nous donner que la date de création et pas celle
| de "lastUpdated"
|
| Private Sub Form_Load()
| Dim db As DAO.Database
| Dim datemodif As Date
| Set db = CurrentDb()
| datemodif = db.Containers("Forms").Documents("Formulaire1").LastUpdated
| MsgBox datemodif
| End Sub
|
| Je crois savoir qu'un bug existe, connu de MS depuis Access2000 mais comme
| c'est (apparemment) toujours la même DAO 3.6 qui est disponible, on est
tjrs
| au même point...
| Merci de bien vouloir m'éclairer sur la suite à donner pour me sortir de
| cette impasse.
| Cordialement
| Christian
Sysinfo
Le #6280011
Bonjour Raymond,
Un grand merci pour ces renseignements et enseignements prodigués pour cette
question. Pb réglés et solutions en place, tout est parfait.
Amicalement
Christian


"Raymond [mvp]" de news:
Bonjour.

tu as oublié les nouvelles propriétés apportées par la version 2002:
DateCreated et DateModified.

exemple pour la date des états:
Dim acobjLoop As AccessObject

For Each acobjLoop In CurrentProject.AllReports
With acobjLoop
Debug.Print .Name & " - Created " & .DateCreated _
& " - Modified " & .DateModified
End With
Next acobjLoop

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Non Stop Mix '07 - Paris. La nouvelle scène web fête la créativité !
http://www.comscamp.com/Tracker/Redirect.ashx?linkid°64304e-439a-45c7-9d2f-c3326db58273


"Sysinfo" 465531b8$0$27413$
| Bonjour Raymond, merci pour ta réponse.
| Cependant nous sommes (apparemment) au même point, notre question étant
:
| comment récupérer la date de dernière modif d'un objet ? le bout de code
| ci-dessous s'obstine à ne nous donner que la date de création et pas
celle
| de "lastUpdated"
|
| Private Sub Form_Load()
| Dim db As DAO.Database
| Dim datemodif As Date
| Set db = CurrentDb()
| datemodif = db.Containers("Forms").Documents("Formulaire1").LastUpdated
| MsgBox datemodif
| End Sub
|
| Je crois savoir qu'un bug existe, connu de MS depuis Access2000 mais
comme
| c'est (apparemment) toujours la même DAO 3.6 qui est disponible, on est
tjrs
| au même point...
| Merci de bien vouloir m'éclairer sur la suite à donner pour me sortir de
| cette impasse.
| Cordialement
| Christian




Publicité
Poster une réponse
Anonyme