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

IHM Discussion :

Atteindre enregistrement en fonction de la date du jour [AC-2010]


Sujet :

IHM

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Par défaut Atteindre enregistrement en fonction de la date du jour
    Bonjour à tous !

    J'aurai aimé savoir comment faire pour atteindre un enregistrement spécifique via la date du jour ? Sachant que j'ai un champs date avec la date correspondante. (le 11/01/2013 au chargement de mon formulaire il se place automatiquement sur l'enregistrement comprenant dans le champ date "11/01/2013).

    Merci d'avance pour toutes vos réponses !

  2. #2
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 955
    Par défaut
    Bonsoir,
    avec Findfirst, c'est possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form_Open(Cancel As Integer)
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
     
     rst.FindFirst "[tadate]= #" & Format(date, "m/d/yyyy") & "#"
       If Not rst.NoMatch Then
            DoCmd.GoToRecord acDataForm, Me.Name, acGoTo, rst.AbsolutePosition + 1
       End If
     
    End Sub

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 585
    Billets dans le blog
    67
    Par défaut
    Bonsoir,

    Si on suppose que ton champ date se nomme "LaDate", tu aurais alors un code de ce type sur ouverture de ton formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Open(Cancel As Integer)
    Me.RecordsetClone.FindFirst "LaDate=Date()"
    Me.Bookmark = Me.RecordsetClone.Bookmark
     
    End Sub
    Edit:
    Slt Tee, tu as répondu plus vite : mais ça doit être dû au décalage horaire


    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Par défaut
    Pour singer M. Jourdain dans Molière je répondrais ceci :

    Oui mais alors, de toutes ces façons là, laquelle est la meilleure ?


    Y a-t-il une des deux méthodes plus complète ou bien le résultat sera le même ?

    Quoi qu'il en soit merci de vos rapides réponses !

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 585
    Billets dans le blog
    67
    Par défaut
    Celle de tee-grandbois permet d'éviter un plantage dans le cas ou il n'y a pas d'enregistrement à la date du jour
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Par défaut
    parfait je vais suivre celle là alors ! merci infiniment !


    EDIT : En fait deux questions finales :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not rst.NoMatch Then
            DoCmd.GoToRecord acDataForm, Me.Name, acGoTo, rst.AbsolutePosition + 1
    cette ligne veut dire que s'il ne trouve rien alors il ira au dernier enregistrement trouvé ? (ce qui m'irait très bien).

    Mon formulaire est un sous formulaire lui même sous formulaire.

    j'ai appliqué ceci pour réaliser une opération sur l'enregistrement du premier sous formulaire à l'ouverture du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!F_SaisieHeures![SF_SaisieHeures].SetFocus

    Puis-je faire pareil mais pour le sous-sous formulaire du formulaire ? Si oui, comment ?

    Merci d'avance !

  7. #7
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 955
    Par défaut
    En faisant le mix des 2 réponses, on peut obtenir ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.FindFirst "[Ladate]=Date()"
     
    If rst.NoMatch Then
        DoCmd.GoToRecord , , acLast     ' Si pas d'occurrence trouvée
    Else
        Me.Bookmark = rst.Bookmark
    End If
     
    End Sub
    reste à savoir à quel moment tu veux que ce code doit être exécuté, je l'ai mis au chargement du sous-sous formulaire sans problème (donc à l'ouverture du formulaire principal).

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Par défaut
    c'est parfait ! j'aurai du y penser avant et je garde le form_load en mémoire pour d'autres applications !

    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/06/2013, 09h14
  2. [MySQL] Afficher enregistrement dynamiquement en fonction de la date du jour
    Par Cedrinho dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/08/2010, 06h56
  3. [XL-2007] Enregistrer en fonction de la date
    Par nelly10 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/09/2009, 19h36
  4. Trier les enregistrements en fonction de la date
    Par mpereg dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 12/09/2004, 14h16

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