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 :

Ouverture formulaire sur enregistrement precis


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 50
    Points : 32
    Points
    32
    Par défaut Ouverture formulaire sur enregistrement precis
    Bonjour,

    J'ai une table qui contient entre autres "une date" + "divers champ". Les champs de cette table sont rempli chaque mois. (donc pour les mois passé la table est rempi les mois futur elle est vides)

    Pour faire cette saisie j'ai crée un formulaire qui a comme source de données cette table.

    Mon pb est que lors de l'ouverture de ce formulaire, je souhaite qu'il s'ouvre avec pour enregistrement le mois en cours.

    Je sais comment ouvrir sur le dernier enregistrement, le premier , un nouvelle ...
    Mais comment fait on pour ouvrir un formulaire sur un enregistrement précis ??????
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    Si j'ai bien compris tu as un enregistrement par mois ?
    formulaire => propriétés => filtre [Mois]=Month(Now)
    inconvéniant tu n'as pas accès aux enregistrements des autres mois

    Sinon (plusieurs enr par mois tu peux essayer filtre: Month([date]=Month(now)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    Non ta soluce ne regle pas mon pb car en faites j'ai une table avec un enregistrements par mois.

    Et dans mon formulaire apres je souhaite pouvoir naviguer entre les différents mois.
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    heu...
    pour les mois passé la table est rempi les mois futur elle est vides
    ... implique que le mois en cours est le dernier enregistrement de la table donc du formulaire, non...?
    Sinon, entre l'ouverture du form et son affichage, tu peux toujours faire une boucle avec DoCmd.GotoRecord [Formulaire],acNext en testant le mois : si c'est le bon, tu quittes la boucle.
    Enfin, il me semble.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Santino le bras mort
    heu...
    pour les mois passé la table est rempi les mois futur elle est vides
    ... implique que le mois en cours est le dernier enregistrement de la table donc du formulaire, non...?
    Sinon, entre l'ouverture du form et son affichage, tu peux toujours faire une boucle avec DoCmd.GotoRecord [Formulaire],acNext en testant le mois : si c'est le bon, tu quittes la boucle.
    Enfin, il me semble.
    Dans ma table Il y a des lignes prévu jusque Decembre 2020, Quand j'ouvre le formulaire je veux afficher la ligne de l'enregistrement du mois en cours.

    Au sujet de ta boucle je n'ai pas trop compris,
    Merci
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Ben je me réexplique, alors
    Dans ton formulaire, tu mets un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Form_Open(Cancel As Integer)
        While Month(Me.LeMois) <> Month(Now)
            DoCmd.GoToRecord   'Les paramètres par défaut de GoToRecord devraient être suffisants mais tu peux être plus précis si tu aimes avoir un beau code tout propre ;)
        Wend
    End Sub
    en adaptant, bien sur, le While en fonction des vrais noms de tes champs et hop, l'affaire devrait être dans le sac (m'est avis que si ta table va jusqu'en 2020, il faudrait prendre l'année en compte et pas seulement le mois, mais le principe reste le même).

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 147
    Points : 172
    Points
    172
    Par défaut
    voici un exemple qui fonctionne en utilisant la propriété sur ouverture de ton form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Open(Cancel As Integer)
    MoisEnCours = Month(Now)
    DoCmd.GoToRecord acDataForm, "mon form", acFirst
    Do While MoisEnCours <> Forms![mon form].[Date]
        DoCmd.GoToRecord acDataForm, "mon form", acNext
    Loop
    End Sub
    tu remplace mon form par le nom de ton formulaire et tu t'assures que les données de ton champ date sont compatibles avec MoisEnCours
    A+

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 50
    Points : 32
    Points
    32
    Par défaut
    C top vos 2 methodes fonctionne tres bien. Merci.
    J'utilise celle ci (car faut bien faire un choix) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Open(Cancel As Integer)
        While Month(Me.Texte11) <> Month(Now)
            DoCmd.GoToRecord   'Les paramètres par défaut de GoToRecord devraient être suffisants mais tu peux être plus précis si tu aimes avoir un beau code tout propre ;)
        Wend
    End Sub
    et pour me positionner sur le mois précedent celui en cours , j'ai rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord , , acPrevious
    apres la boucle.

    Post clos. Merci a tous
    Quelques fois, on trouve. D'autres fois on continue à chercher !!!

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

Discussions similaires

  1. [AC-2010] Ouverture formulaire sur enregistrement précis
    Par Tazzou dans le forum VBA Access
    Réponses: 8
    Dernier message: 27/08/2014, 19h50
  2. [Toutes versions] Probleme ouverture formulaire sur un enregistrement préci
    Par azur123 dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/08/2012, 23h43
  3. [AC-2002] Ouverture formulaire sur nouvel enregistrement
    Par Auron89 dans le forum IHM
    Réponses: 8
    Dernier message: 07/06/2010, 07h47
  4. Ouverture d'un formulaire sur enregistrement précis
    Par Gremandine dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/04/2010, 11h25
  5. Code : ouvrir un formulaire sur enregistrement precis
    Par mat75019 dans le forum Access
    Réponses: 19
    Dernier message: 10/04/2006, 18h50

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