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 :

FindFirst avec 2 critères (lieu et date) [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères (lieu et date)
    Bonjour à tous,

    j'ai encore des problèmes avec la fonction FindFirst qui contient 2 critères.
    Le premier un li (lieuAchat) et l'autre date (dateAchat)
    Mais j'ai une erreur 13 - incompatibilité de type.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Dim meL As control, rstAchat As Recordset, critere As String, maBD As Database, critere2 As String
        Dim msg, Style, Title
        Dim meD As Form, Response As Integer
        Set maBD = CurrentDb
        Set meL = Forms!frmDépensesParDate![DateAchatsHeute]
        If EstChargé("frmDépensesParDate") Then
            Set meD = Forms!frmDépensesParDate
        End If
         critere = "[LieuAchat]=" & meD!LieuAchat And "meD!DateAchat =#" & Format(meL, "mm/dd/yyyy") & "#"
       MsgBox ("") & critere
    Evidemment avec l'un ou l'autre critère, ça fonctionne
    Merci d'avance pour vos conseils.
    @+

    Guy FALESSE

  2. #2
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut Petits problèmes de concaténation
    Si LieuAchat est numérique, ça devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         critere = "[LieuAchat]=" & meD!LieuAchat & " And meD!DateAchat =#" & Format(meL, "mm/dd/yyyy") & "#"
    Par contre si c'est du texte, on devrait avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         critere = "[LieuAchat]='" & meD!LieuAchat & "' And meD!DateAchat =#" & Format(meL, "mm/dd/yyyy") & "#"
    Bonne continuation

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Bonsoir madefemere,

    Merci pour ta réponse, mais pour l'instant j'ai encore un problème:
    Le moteur de rechercher...ne reconnaît meD!DateAchats en tant que nom de champ ou expression correcte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      MsgBox ("") & critere
       '
       Set rstAchat = maBD.OpenRecordset("tblAchatsGlobaux", dbOpenDynaset)
        With rstAchat
            If rstAchat.RecordCount > 0 Then
                .MoveLast
            End If
            .FindFirst critere
    C'est lorsque la fonction arrive à FindFirst critere que j'ai cette erreur, mais lorsque je pointe le curseur, les indications sont bonnes.
    Je regarder plus près demain, je suppose qu'il y a un problème;
    J'ai remarqué aussi que quand je mets le curseur sur date, la date est toujours dans la forme anglaise, serait-ce à cause de cela?
    Bonne soirée,

    @ Demain,

    Guy FALESSE

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Salut madefemere,

    Voilà, ça fait un moment que je teste et reteste, ç

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Salut madefemere,

    J'ai passé une partie de l'après-midi, afin de trouver la bonne réponse, en vain.
    J'ai maintenant une erreur de syntaxe dans la chaîne dans l'expression.

    Voici le nouveau code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Commande30_Click()
        Dim meL As control, rstAchat As Recordset, critere As String, maBD As Database, critere2 As String
        Dim msg, Style, Title
        Dim meD As Form, Response As Integer
        Set maBD = CurrentDb
        Set meL = Forms!frmDépensesParDate![DateAchatsHeute]
        If EstChargé("frmDépensesParDate") Then
            Set meD = Forms!frmDépensesParDate
        End If
        'on recherche dans la table tblAchatsGlobaux si la date existe déjà ainsi que le lieu achat
        Set rstAchat = maBD.OpenRecordset("tblAchatsGlobaux", dbOpenDynaset)
        critere = "[LieuxAchats]='" & Me!LieuAchat & "' And rstAchat!DateAchats = #" & Format(meL, "mm/dd/yyyy") & "#"""
        With rstAchat
            If rstAchat.RecordCount > 0 Then
                .MoveLast
            End If
            .FindFirst critere
            If .NoMatch Then
                MsgBox ("le ") & critere & (" n'existe pas")
            End If
        End With
    End Sub
    Là, je n'y comprends rien.

    Où est l'erreur, j'ai beau ajouter ou retirer guillemets et ou apostrophe, ça ne change rien.
    @+
    Guy FALESSE

  6. #6
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Salut,

    Ne serait-ce pas des petits problèmes de nom de champ ou contrôle qui te pose problème :

    Mets un Msgbox critere ou Debug.print critere à la ligne 13 juste après la définition du critère pour voir ce que ça donne.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Salut madefemere,

    Voilà ce que donne le debug.print critere=

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [LieuxAchats]='Delhaize Bouffioulx' And rstAchat!DateAchats = #06/13/2013#"
    Arrivé à la ligne findFirst critere il me met erreur de syntaxe.
    là...
    @+

    Guy FALESSE

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Salut madefemere,

    Je préfèrerai que cette ligne fonctionnerait, puisque qu'il peut arriver que la date existe dans la table tblAchatsGlobaux mais avec des lieux différents.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    critere = "DateAchats = #" & Format(meL, "mm/dd/yyyy") & "#" And [LieuxAchats] = " & Me!LieuAchat & " '"
    @+

    Guy FALESSE

  9. #9
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    On regarde, on regarde .....

    On a :
    dans la table tblAchatsGlobaux les champs LieuxAchats et DateAchats
    et dans le formulaire frmDépensesParDate les contrôles : LieuAchat et DateAchatsHeute (à vérifier si ce n'est pas DateAchatsHeure) que tu passes en paramètre par : meL = Forms!frmDépensesParDate![DateAchatsHeute]

    Donc normalement le critère devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    critere = "[DateAchats]=#" & Format(meL, "mm/dd/yyyy") & "# And [LieuxAchats] = '" & Me!LieuAchat & "'"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    critere = "[LieuxAchats] = '" & Me!LieuAchat & "' And [DateAchats]=#" & Format(meL, "mm/dd/yyyy") & "#"
    Il y avait un rstAchat! qui trainait dans rstAchat!DateAchats

    J'espère que c'est bon

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Salut madefemere,

    Je ne rouspétais pas
    D'autant que victoire, tu as trouvé la bonne syntaxe.
    Ouf!
    Je ne m'en sorts pas du tout avec tous ces "machins"
    Demain, je teste encore et cocherai résolu.
    Voilà, bonne soirée et à demain pour les dernières nouvelles, les bonnes j'espère.
    @+
    Guy falesse

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    Salut madefemere,

    Je viens encore de tester, ça fonctionne toujours, heureusement.
    J'ai comme ça un bon exemple au cas où.
    Encore merci de ta patience et bonne soirée.
    @+

    Guy FALESSE

  12. #12
    Expert éminent

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Loin de moi l'idée de penser que tu rouspétais (je comprend le sentiment quand on sent qu'on est proche, mais...ça ne veut pas).

    Je veux dire par
    On regarde, on regarde .....
    NOUS regardons tout ce que nous écrivons, mais nous ne voyons pas les erreurs. Mais c'est bien, on a le dernier mot à force de calme et de persévérance.

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut FindFirst avec 2 critères
    salut madefemere,

    Tu as raison
    Encore une fois, bravo

    @+

    Guy FALESSE

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

Discussions similaires

  1. Problème Findfirst avec un tiret dans le critère
    Par Mors_Ubyte dans le forum VBA Access
    Réponses: 6
    Dernier message: 14/10/2008, 11h14
  2. Problème avec FindFirst quand le critère contient "
    Par Mors_Ubyte dans le forum VBA Access
    Réponses: 5
    Dernier message: 22/05/2008, 10h13
  3. Requête select des données avec un critère de date
    Par funboard dans le forum Oracle
    Réponses: 2
    Dernier message: 21/04/2008, 16h52
  4. Tri avancé avec 2 critères dont une date
    Par cynoq dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/11/2007, 15h42

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