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 :

Code VBA pour une date [AC-2013]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 115
    Points : 72
    Points
    72
    Par défaut Code VBA pour une date
    Bonjour,
    Lorsque je tape comme code:

    Private Sub RechercheDates_AfterUpdate()
    'Find the record that matches the control.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Dates] = '" & Me![RechercheDates] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

    End Sub

    Recherche date est une liste déroulante dans un formulaire.
    Lorsque je sélectionne une date j'ai un message d'erreur qui me dis Type de données incompatible.
    Le champ Dates ainsi que RechercheDates et au format Date abrégée.
    Y a-t-il quelque chose à changer dans mon code? Ou dois-je changer le format de mes champs.

    Merci de votre aide
    Boulser

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonsoir,

    Ton code est assez curieux, je n'ai jamais testé la fin du RecordSet pour vérifier le résultat d'un FindFirst.
    Mais bon. Un paramètre date doit toujours être utilisé entre les croisillons # et de préférence utiliser le format US (pour ne pas avoir de surprises avec les valeurs inférieures à 12).

    Je verrais ton code de la façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub RechercheDates_AfterUpdate()
    'Find the record that matches the control.
    Dim rs As Object
     
    Set rs = Me.RecordsetClone
    rs.FindFirst "[Dates] = #'" & Format(Me![RechercheDates],"yyyy/mm/dd") & "#"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
     
    End Sub
    NOTA : Ne pas oublier de mettre tes codes sur le forum dans les balises pour faciliter sa lecture.
    Comment : Sélectionner le code et cliquer sur le bouton #


    Cordialement,

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 115
    Points : 72
    Points
    72
    Par défaut
    OK
    Un grand merci.

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

Discussions similaires

  1. [XL-2007] Code vba renvoyant une date du jour lorsque une condition est satisfaite
    Par moussaouiassur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2014, 09h29
  2. [XL-2010] Code VBA pour ajout d'une date lorsqu'elle n'existe pas
    Par Jey14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/10/2013, 13h39
  3. Réponses: 7
    Dernier message: 15/08/2012, 16h16
  4. Réponses: 4
    Dernier message: 22/12/2011, 02h22

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