OVH Cloud OVH Cloud

Date d'un fichier lié

6 réponses
Avatar
EnPanne
Bonjour à toutes et tous

Dans un formulaire destiné à appeler divers états, j'aimerai afficher la
date de mise à jour des données.
Celles-ci proviennent d'une table liée (entete.dbf) stockée dans le même
dossier que le formulaire, sur un serveur.
J'ai trouvé le moyen d'utiliser une requête me permettant de trouver dans
cette table la date la plus récente.
Mais c'est d'un long (la table fait plus de 70MO)

J'ai vu sur officesystem.access.free.fr que je pourrai utiliser
FileDateTime.
Mais comment ? (j'ai vraiment du mal à assimiler les structures du VBA)
Merci pour votre aide.

Cordialement.

PG

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

J'ai vu sur officesystem.access.free.fr que je pourrai utiliser
FileDateTime.


FileDateTime n'indique pas la date modification des données mais la date de
modification du fichier lui-même ce qui n'est pas du tout pareil.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"EnPanne" a écrit dans le message de news:

Bonjour à toutes et tous

Dans un formulaire destiné à appeler divers états, j'aimerai afficher la
date de mise à jour des données.
Celles-ci proviennent d'une table liée (entete.dbf) stockée dans le même
dossier que le formulaire, sur un serveur.
J'ai trouvé le moyen d'utiliser une requête me permettant de trouver dans
cette table la date la plus récente.
Mais c'est d'un long (la table fait plus de 70MO)

J'ai vu sur officesystem.access.free.fr que je pourrai utiliser
FileDateTime.
Mais comment ? (j'ai vraiment du mal à assimiler les structures du VBA)
Merci pour votre aide.

Cordialement.

PG



Avatar
EnPanne
Bonjour Raymond

D'accord, mais pour moi le résultat est le même, puisque le fichier lié
changera nécessairement de date lorsque son application maîtresse acceptera
des modifications. Et cette information me suffit.

Mon problème en l'occurence est de rapatrier cette date dans mon formulaire.
J'ai pensé créer un contrôle DateMaj qui serait rempli par le résultat d'un
calcul fait par un évènement
Private Sub Form_Current() qui contient déjà des traitements de ce type.
J'ai essayé Me.DateMaj = FileDateTime(entete.dbf)
ainsi que Me.DateMaj.Value = FileDateTime(entete.dbf)
Mais lorsque j'ouvre mon formulaire, j'ai une erreur 424 qui m'impose le
débogeur.
J'ai donc un problème de syntaxe, mais je ne trouve pas l'aide idoine.

Merci pour ton assistance.
Cordialement.

PG

"Raymond [mvp]" a écrit dans le message de
news: %

.



FileDateTime n'indique pas la date modification des données mais la date
de modification du fichier lui-même ce qui n'est pas du tout pareil.



Avatar
Raymond [mvp]
Bonjour.

Me.DateMaj = FileDateTime(entete.dbf)
ne peut pas créer d'erreur si DateMaj est bien une donnée date.
à moins que la référence à dao 3.6 ne soit pas cochée ?
coche cette référence et place la avant toute référence à ado.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"EnPanne" a écrit dans le message de news:

Bonjour Raymond

D'accord, mais pour moi le résultat est le même, puisque le fichier lié
changera nécessairement de date lorsque son application maîtresse
acceptera des modifications. Et cette information me suffit.

Mon problème en l'occurence est de rapatrier cette date dans mon
formulaire.
J'ai pensé créer un contrôle DateMaj qui serait rempli par le résultat
d'un calcul fait par un évènement
Private Sub Form_Current() qui contient déjà des traitements de ce type.
J'ai essayé Me.DateMaj = FileDateTime(entete.dbf)
ainsi que Me.DateMaj.Value = FileDateTime(entete.dbf)
Mais lorsque j'ouvre mon formulaire, j'ai une erreur 424 qui m'impose le
débogeur.
J'ai donc un problème de syntaxe, mais je ne trouve pas l'aide idoine.

Merci pour ton assistance.
Cordialement.

PG



Avatar
EnPanne
J'ai donc validé (Outils / Références) le Microsoft DAO 3.6 Object Library
et l'ai monté au 3ème rang
(VBA / Mic.Access 9.0 Object Library / Mic.Dao 3.6 object library / Ole
Automation / Mic. ActiveX Data Object 2.1 Library) Aucune autre option n'est
cochée.
Le contrôle DateMaj a un format Date,général
L'aide sur FileDateTime montre un nom de fichier entre guillements.
Lorsque je mets les guillemets, l'erreur est "Erreur d'exécution '53' :
Fichier introuvable"
Lorsque je ne les mets pas j'obtiens "Erreur d'exécution '424' : Objet
requis"
Mon "gadget" est posé comme suit :
Option Compare Database
.............
Private Sub Form_Current()
Me.DateMaj = FileDateTime(entete.dbf)
End Sub

Je fais comme les Tontons Flingueurs : je tourne en rond, m...e, je tourne
en rond :-) :-(


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

Me.DateMaj = FileDateTime(entete.dbf)
ne peut pas créer d'erreur si DateMaj est bien une donnée date.
à moins que la référence à dao 3.6 ne soit pas cochée ?
coche cette référence et place la avant toute référence à ado.


Avatar
Raymond [mvp]
il faut l'indiquer comme ceci:
Me.DateMaj = FileDateTime("entete.dbf")
si entete.dbf est dans le même répertoire que la base, sinon il faut
indiquer le chemin complet.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"EnPanne" a écrit dans le message de news:

J'ai donc validé (Outils / Références) le Microsoft DAO 3.6 Object Library
et l'ai monté au 3ème rang
(VBA / Mic.Access 9.0 Object Library / Mic.Dao 3.6 object library / Ole
Automation / Mic. ActiveX Data Object 2.1 Library) Aucune autre option
n'est cochée.
Le contrôle DateMaj a un format Date,général
L'aide sur FileDateTime montre un nom de fichier entre guillements.
Lorsque je mets les guillemets, l'erreur est "Erreur d'exécution '53' :
Fichier introuvable"
Lorsque je ne les mets pas j'obtiens "Erreur d'exécution '424' : Objet
requis"
Mon "gadget" est posé comme suit :
Option Compare Database
.............
Private Sub Form_Current()
Me.DateMaj = FileDateTime(entete.dbf)
End Sub

Je fais comme les Tontons Flingueurs : je tourne en rond, m...e, je tourne
en rond :-) :-(



Avatar
EnPanne
J'ai (enfin) trouvé :
Ma base Access _et_ mes fichiers .bdf étant sur un serveur, il faut entrer
le chemin complet entre les parenthèses, bien que tout soit dans le même
dossier.

Merci encore pour votre aide.
Cordialement

PG
"Raymond [mvp]" a écrit dans le message de
news: %
il faut l'indiquer comme ceci:
Me.DateMaj = FileDateTime("entete.dbf")
si entete.dbf est dans le même répertoire que la base, sinon il faut
indiquer le chemin complet.