GNT sans publicité, site mobile, fonctionnalitées exclusives...

Récupérer la date de modification d'un formulaire

Le
viny
Bonjour,

Je voudrais créer une sorte de libraire qui se met à jour de manière
automatique. Je m'explique, j'ai plusieurs formulaires qui sont
identiques dans différentes bases de données access. Pour faciliter
la compréhension, on va appeller ces bases de données
"application1.mdb", "application2.mdb", Je voudrais mettre ces
formulaires dans un mdb genre "maLibrairie.mdb".

Toujours selon mon exemple, au lancement de "application1.mdb", j'ouvre
un formulaire "update" qui va controler que la date de modification des
formulaires contenu dans "maLibrairie.mdb" est égale à la date du
même formulaire contenu dans "application1.mdb". Si ce n'est pas le
cas, effacer le formulaire dans "application1.mdb" et importer celui de
"maLibrairie.mdb".

Mon soucis c'est de récupérer cette date de modification. J'ai bien
remarqué qu'Access stockait une date dans "MSysObjects" mais cette
date ne semble pas se mettre à jour après une modification.

J'ai aussi utilisé le code suivant pour récupérer la date mais même
constatation:

Public Sub tt()

Dim docS As Documents
Dim doc As Document
Dim contS As Containers
Dim cont As Container

For Each cont In CurrentDb.Containers
If cont.Name = "Forms" Then Exit For
Next

Set docS = cont.Documents

For Each doc In docS
MsgBox doc.Name & " " & doc.DateCreated & " " & doc.LastUpdated
Next

End Sub

Pourtant lorsque je clique droit (menu propriété) sur un formulaire
qui vient d'être modifié la date de modification est correct.
Quelqu'un sait-il comment récupérer cette date?
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LiR
Le #6115631
Je ne suis pas sûr mais j'ai l'impression que doc.DateCreated ne fonctionne
que pour les tables.

Tu peux utiliser ceci :

Public Function GetFormDateModif(ByVal FormName As String) As Date
GetFormDateModif = CurrentProject.AllForms(FormName).DateModified
End Function


Bonjour,

Je voudrais créer une sorte de libraire qui se met à jour de manière
automatique. Je m'explique, j'ai plusieurs formulaires qui sont
identiques dans différentes bases de données access. Pour faciliter
la compréhension, on va appeller ces bases de données
"application1.mdb", "application2.mdb", ... Je voudrais mettre ces
formulaires dans un mdb genre "maLibrairie.mdb".

Toujours selon mon exemple, au lancement de "application1.mdb", j'ouvre
un formulaire "update" qui va controler que la date de modification des
formulaires contenu dans "maLibrairie.mdb" est égale à la date du
même formulaire contenu dans "application1.mdb". Si ce n'est pas le
cas, effacer le formulaire dans "application1.mdb" et importer celui de
"maLibrairie.mdb".

Mon soucis c'est de récupérer cette date de modification. J'ai bien
remarqué qu'Access stockait une date dans "MSysObjects" mais cette
date ne semble pas se mettre à jour après une modification.

J'ai aussi utilisé le code suivant pour récupérer la date mais même
constatation:

Public Sub tt()

Dim docS As Documents
Dim doc As Document
Dim contS As Containers
Dim cont As Container

For Each cont In CurrentDb.Containers
If cont.Name = "Forms" Then Exit For
Next

Set docS = cont.Documents

For Each doc In docS
MsgBox doc.Name & " " & doc.DateCreated & " " & doc.LastUpdated
Next

End Sub

Pourtant lorsque je clique droit (menu propriété) sur un formulaire
qui vient d'être modifié la date de modification est correct.
Quelqu'un sait-il comment récupérer cette date?




viny
Le #6115591
Bonjour,

Je ne sais pas sur quelle version d'access tu es. Moi j'ai la version
2000. Et la methode "DateModified" n'est pas membre de AllForms...

Je n'ai que:
Application
Count
Item
Parent

Donc ca marche pas évidement...., ca fonctionne chez toi?...



Je ne suis pas sûr mais j'ai l'impression que doc.DateCreated ne foncti onne
que pour les tables.

Tu peux utiliser ceci :

Public Function GetFormDateModif(ByVal FormName As String) As Date
GetFormDateModif = CurrentProject.AllForms(FormName).DateModified
End Function


Bonjour,

Je voudrais créer une sorte de libraire qui se met à jour de mani ère
automatique. Je m'explique, j'ai plusieurs formulaires qui sont
identiques dans différentes bases de données access. Pour faciliter
la compréhension, on va appeller ces bases de données
"application1.mdb", "application2.mdb", ... Je voudrais mettre ces
formulaires dans un mdb genre "maLibrairie.mdb".

Toujours selon mon exemple, au lancement de "application1.mdb", j'ouvre
un formulaire "update" qui va controler que la date de modification des
formulaires contenu dans "maLibrairie.mdb" est égale à la date du
même formulaire contenu dans "application1.mdb". Si ce n'est pas le
cas, effacer le formulaire dans "application1.mdb" et importer celui de
"maLibrairie.mdb".

Mon soucis c'est de récupérer cette date de modification. J'ai bien
remarqué qu'Access stockait une date dans "MSysObjects" mais cette
date ne semble pas se mettre à jour après une modification.

J'ai aussi utilisé le code suivant pour récupérer la date mais m ême
constatation:

Public Sub tt()

Dim docS As Documents
Dim doc As Document
Dim contS As Containers
Dim cont As Container

For Each cont In CurrentDb.Containers
If cont.Name = "Forms" Then Exit For
Next

Set docS = cont.Documents

For Each doc In docS
MsgBox doc.Name & " " & doc.DateCreated & " " & doc.LastUpdated
Next

End Sub

Pourtant lorsque je clique droit (menu propriété) sur un formulaire
qui vient d'être modifié la date de modification est correct.
Quelqu'un sait-il comment récupérer cette date?






LiR
Le #6115551
Ce n'est pas une propriété de la classe AllForms, mais une propriété de la
classe AccesssObject. La méthode Item de la classe AllForms renvoie un objet
AccessObject qui représente un formulaire.

CurrentProject.AllForms(FormName).DateModified

Ou encore (explicitement) :

CurrentProject.AllForms.Item(FormName).DateModified




Bonjour,

Je ne sais pas sur quelle version d'access tu es. Moi j'ai la version
2000. Et la methode "DateModified" n'est pas membre de AllForms...

Je n'ai que:
Application
Count
Item
Parent

Donc ca marche pas évidement...., ca fonctionne chez toi?...



Je ne suis pas sûr mais j'ai l'impression que doc.DateCreated ne fonctionne
que pour les tables.

Tu peux utiliser ceci :

Public Function GetFormDateModif(ByVal FormName As String) As Date
GetFormDateModif = CurrentProject.AllForms(FormName).DateModified
End Function


Bonjour,

Je voudrais créer une sorte de libraire qui se met à jour de manière
automatique. Je m'explique, j'ai plusieurs formulaires qui sont
identiques dans différentes bases de données access. Pour faciliter
la compréhension, on va appeller ces bases de données
"application1.mdb", "application2.mdb", ... Je voudrais mettre ces
formulaires dans un mdb genre "maLibrairie.mdb".

Toujours selon mon exemple, au lancement de "application1.mdb", j'ouvre
un formulaire "update" qui va controler que la date de modification des
formulaires contenu dans "maLibrairie.mdb" est égale à la date du
même formulaire contenu dans "application1.mdb". Si ce n'est pas le
cas, effacer le formulaire dans "application1.mdb" et importer celui de
"maLibrairie.mdb".

Mon soucis c'est de récupérer cette date de modification. J'ai bien
remarqué qu'Access stockait une date dans "MSysObjects" mais cette
date ne semble pas se mettre à jour après une modification.

J'ai aussi utilisé le code suivant pour récupérer la date mais même
constatation:

Public Sub tt()

Dim docS As Documents
Dim doc As Document
Dim contS As Containers
Dim cont As Container

For Each cont In CurrentDb.Containers
If cont.Name = "Forms" Then Exit For
Next

Set docS = cont.Documents

For Each doc In docS
MsgBox doc.Name & " " & doc.DateCreated & " " & doc.LastUpdated
Next

End Sub

Pourtant lorsque je clique droit (menu propriété) sur un formulaire
qui vient d'être modifié la date de modification est correct.
Quelqu'un sait-il comment récupérer cette date?










viny
Le #6115521
re,

quand j'exécute le code:
CurrentProject.AllForms(FormName).DateModified
ou
CurrentProject.AllForms.Item(FormName).DateModified

en remplaçant "FormName" par un nom d'un de mes formulaires... il me
répond:

Propriété ou méthode non gérée par cet objet...



Ce n'est pas une propriété de la classe AllForms, mais une propriét é de la
classe AccesssObject. La méthode Item de la classe AllForms renvoie un objet
AccessObject qui représente un formulaire.

CurrentProject.AllForms(FormName).DateModified

Ou encore (explicitement) :

CurrentProject.AllForms.Item(FormName).DateModified




Bonjour,

Je ne sais pas sur quelle version d'access tu es. Moi j'ai la version
2000. Et la methode "DateModified" n'est pas membre de AllForms...

Je n'ai que:
Application
Count
Item
Parent

Donc ca marche pas évidement...., ca fonctionne chez toi?...



Je ne suis pas sûr mais j'ai l'impression que doc.DateCreated ne fo nctionne
que pour les tables.

Tu peux utiliser ceci :

Public Function GetFormDateModif(ByVal FormName As String) As Date
GetFormDateModif = CurrentProject.AllForms(FormName).DateModifi ed
End Function


Bonjour,

Je voudrais créer une sorte de libraire qui se met à jour de ma nière
automatique. Je m'explique, j'ai plusieurs formulaires qui sont
identiques dans différentes bases de données access. Pour facil iter
la compréhension, on va appeller ces bases de données
"application1.mdb", "application2.mdb", ... Je voudrais mettre ces
formulaires dans un mdb genre "maLibrairie.mdb".

Toujours selon mon exemple, au lancement de "application1.mdb", j'o uvre
un formulaire "update" qui va controler que la date de modification des
formulaires contenu dans "maLibrairie.mdb" est égale à la date du
même formulaire contenu dans "application1.mdb". Si ce n'est pas le
cas, effacer le formulaire dans "application1.mdb" et importer celu i de
"maLibrairie.mdb".

Mon soucis c'est de récupérer cette date de modification. J'ai bien
remarqué qu'Access stockait une date dans "MSysObjects" mais cette
date ne semble pas se mettre à jour après une modification.

J'ai aussi utilisé le code suivant pour récupérer la date mai s même
constatation:

Public Sub tt()

Dim docS As Documents
Dim doc As Document
Dim contS As Containers
Dim cont As Container

For Each cont In CurrentDb.Containers
If cont.Name = "Forms" Then Exit For
Next

Set docS = cont.Documents

For Each doc In docS
MsgBox doc.Name & " " & doc.DateCreated & " " & doc.LastUpdated
Next

End Sub

Pourtant lorsque je clique droit (menu propriété) sur un formul aire
qui vient d'être modifié la date de modification est correct.
Quelqu'un sait-il comment récupérer cette date?












viny
Le #6115501
Quoiqu'il en soit... je crois avoir trouvé une réponse dans la KB de
M$... qui m'enlève tout espoire de trouver une solution:

http://support.microsoft.com/kb/299554/en-us

dixit: "Unfortunately, Microsoft Access 2000 does not currently expose
this information in its object model; therefore, there is no
programmatic way to get to this information in Microsoft Access 2000."


Merci M$....


re,

quand j'exécute le code:
CurrentProject.AllForms(FormName).DateModified
ou
CurrentProject.AllForms.Item(FormName).DateModified

en remplaçant "FormName" par un nom d'un de mes formulaires... il me
répond:

Propriété ou méthode non gérée par cet objet...



Ce n'est pas une propriété de la classe AllForms, mais une propri été de la
classe AccesssObject. La méthode Item de la classe AllForms renvoie u n objet
AccessObject qui représente un formulaire.

CurrentProject.AllForms(FormName).DateModified

Ou encore (explicitement) :

CurrentProject.AllForms.Item(FormName).DateModified




Bonjour,

Je ne sais pas sur quelle version d'access tu es. Moi j'ai la version
2000. Et la methode "DateModified" n'est pas membre de AllForms...

Je n'ai que:
Application
Count
Item
Parent

Donc ca marche pas évidement...., ca fonctionne chez toi?...



Je ne suis pas sûr mais j'ai l'impression que doc.DateCreated ne fonctionne
que pour les tables.

Tu peux utiliser ceci :

Public Function GetFormDateModif(ByVal FormName As String) As Date
GetFormDateModif = CurrentProject.AllForms(FormName).DateModi fied
End Function


Bonjour,

Je voudrais créer une sorte de libraire qui se met à jour de manière
automatique. Je m'explique, j'ai plusieurs formulaires qui sont
identiques dans différentes bases de données access. Pour fac iliter
la compréhension, on va appeller ces bases de données
"application1.mdb", "application2.mdb", ... Je voudrais mettre ces
formulaires dans un mdb genre "maLibrairie.mdb".

Toujours selon mon exemple, au lancement de "application1.mdb", j 'ouvre
un formulaire "update" qui va controler que la date de modificati on des
formulaires contenu dans "maLibrairie.mdb" est égale à la dat e du
même formulaire contenu dans "application1.mdb". Si ce n'est pa s le
cas, effacer le formulaire dans "application1.mdb" et importer ce lui de
"maLibrairie.mdb".

Mon soucis c'est de récupérer cette date de modification. J'a i bien
remarqué qu'Access stockait une date dans "MSysObjects" mais ce tte
date ne semble pas se mettre à jour après une modification.

J'ai aussi utilisé le code suivant pour récupérer la date m ais même
constatation:

Public Sub tt()

Dim docS As Documents
Dim doc As Document
Dim contS As Containers
Dim cont As Container

For Each cont In CurrentDb.Containers
If cont.Name = "Forms" Then Exit For
Next

Set docS = cont.Documents

For Each doc In docS
MsgBox doc.Name & " " & doc.DateCreated & " " & doc.LastUpdated
Next

End Sub

Pourtant lorsque je clique droit (menu propriété) sur un form ulaire
qui vient d'être modifié la date de modification est correct.
Quelqu'un sait-il comment récupérer cette date?














Publicité
Suivre les réponses
Poster une réponse
Anonyme