IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

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


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 48
    Points : 48
    Points
    48
    Par défaut Récupérer la date de modification d'un formulaire
    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?

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Il faut utiliser cette syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Public Function tt()
       Dim i As Integer
       Dim cont As Form
       For i = 0 To CurrentProject.AllForms.Count - 1
           Debug.Print CurrentProject.AllForms.Item(i).Name;
           Debug.Print CurrentProject.AllForms.Item(i).DateModified;
           Debug.Print CurrentProject.AllForms.Item(i).DateCreated
       Next
       Set cont = Nothing
    End Function
    Cordialement,
    Merci de regarder tes MP.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Tout d'abord merci pour ta réponse...

    En fait ton code fonctionne mais me pose un problème... Ca renvoit effectivement la date "LastUpdated" mais qui est en fait la date de création du formulaire et pas la date de modification... car si tu essaies de modifier un formulaire... ré-exécute ton code et tu verras que ta date n'a pas changé... du moins en ACCESS 2000....

    Mais je crois avoir trouvé l'explication dans le KB de crosoft...

    -> 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."


    Résultat j'ai bien peur qu'il n'y aie pas de solution à mon problème... si peut-être passé à une version supérieur d'access... à condition que le problème soit résolu dans la version 2003 ...

  4. #4
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Bonjour c'est peut être bête ... mais ...

    Voici ma proposition :

    1) Création d'un champ indépendant sur ton formulaire

    2) Sur l'évènement : Si modification ou Lors de modifications de l'affichage. Ajouter la date du jour dans le champ indépendant ...

    ...


    Je ne sais pas si c'est fonctionnel personnelement je n'ai pas essayé mais qui sait peut être que cela peut fonctionner ... ... qui ne tente rien n'a rien ...
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Merci pour ta proposition...

    Mais l'événement de modification... se produit lors d'une modification d'enregistrement... c-à-d quand le formulaire est ouvert en mode formulaire ou feuille de donnée... toi tu parles donc de la date de modification ou de création des données...

    Moi je parle de la date de modification du formulaire lorsqu'il est ouvert et modifié en mode "Design"... c-à-d la date que tu vois apparaitre dans le fenetre d'access en cliquant droit sur un formulaire et en selectionnant "propriété"....

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Un exemple :

    Public Function GetDateUpdatedForm(strFormName As String) As Date
    Dim oDb As DAO.Database
    Set oDb = CurrentDb
    GetDateUpdatedForm = oDb.Containers("Forms").Documents(strFormName).LastUpdated
    End Function

    Sub test()
    MsgBox GetDateUpdatedForm("Formulaire1")
    End Sub

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Merci Tofalu,

    Effectivement ton code est correct... c'est bien celui que j'ai appliqué... mais modifie ton formulaire... et tu te rendras compte que la date renvoyée par LastUpdate n'est pas la bonne... Il te renvoit systématiquement la date de création...

    Le bug est référencé dans la KB de M$ mais bon ... appriori y'a pas de solution apportée...

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2009, 21h39
  2. Réponses: 7
    Dernier message: 10/05/2008, 12h19
  3. Récupérer la date de modif d'un fichier
    Par Sensei.Dje dans le forum C
    Réponses: 1
    Dernier message: 04/01/2008, 10h57
  4. [FAQ] Obtenir la date de modification d'un formulaire
    Par Tofalu dans le forum Contribuez
    Réponses: 18
    Dernier message: 12/11/2007, 14h00
  5. Récupérer la date de modification d'un dossier
    Par Chekov dans le forum Langage
    Réponses: 6
    Dernier message: 14/08/2007, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo