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

VBA Access Discussion :

[DAO] FindNext ne trouve jamais le 1er enregistrement


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut [DAO] FindNext ne trouve jamais le 1er enregistrement
    Bonjour,

    J'ai un formulaire Access, dont la source est :

    Code sql :
    SELECT Table1.tChamps1 FROM Table1;


    Dans cette table1, j'ai 5 enregistrements pour le champ tChamps1.
    Je souhaite, à partir du formulaire, faire une recherche en tapant un mot dans un controle nommé ici ctlATrouver.
    Le pb est que la recherche fonctionne, mais ne trouve jamais le 1er enregistrement : elle balaye uniquement les 4 derniers enregistrements.

    Ci dessous le code utilisé :

    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
    Sub btnRecherche_Click()
       Dim rst As DAO.Recordset
       Dim varRecherche As String
     
       varRecherche = Nz(Me.ctlATrouver)
     
       Set rst = Me.RecordsetClone
     
       rst.FindNext "[tChamps1]like '*" & varRecherche & "*'"
     
        Me.Bookmark = rst.Bookmark
     
          If rst.NoMatch Then
             MsgBox "Recherche terminée.", vbInformation
             rst.MoveFirst
          End If
     
       rst.Close
       Set rst = Nothing
     
    End Sub
    Quelqu'un pourrait il m'éclairer ?

    Merci d'avance !

    ++

  2. #2
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Ben ... FindFirst ?
    FindFirst recherche le premier enregistrement correpondant aux critères paramétrés. Quand FindFirst ne trouve aucun enregistrement correspondant, il se place sur le premier enregistrement de la table.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    euh, comment dire... ...

  4. #4
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut

    T'inquiète, ya pas de bug, tu es là pour apprendre
    Tu as résolu ton problème ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Oui, merci ça a fait tilt quand tu m'as donné ta réponse ! Voici mon nouveau code : celui là permet de balayer tous mes enregistrements. Après faut que je teste tout ça davantage mais c'est cool j'ai résolu mon problème !!

    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
    23
    Sub btnRecherche_Click()
       Dim rst As DAO.Recordset
       Dim varRecherche As String
     
       varRecherche = Nz(Me.ctlATrouver)
     
       Set rst = Me.RecordsetClone
     
       rst.FindNext "[tChamps1]like '*" & varRecherche & "*'"
     
       Me.Bookmark = rst.Bookmark
     
          If rst.NoMatch Then
             rst.FindFirst "[tChamps1]like '*" & varRecherche & "*'"
             Me.Bookmark = rst.Bookmark
             MsgBox "Recherche terminée.", vbInformation
             rst.MoveFirst
          End If
     
       rst.Close
       Set rst = Nothing
     
    End Sub
    A bientôt !

  6. #6
    Membre émérite Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 961
    Par défaut
    Avec plaisir
    A+

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

Discussions similaires

  1. [AC-2010] Je ne trouve jamais le "vrai" dernier enregistrement
    Par Guy FALESSE dans le forum IHM
    Réponses: 8
    Dernier message: 07/10/2012, 16h43
  2. Conserver 1er enregistrement trouvé
    Par bleu_ciel dans le forum Access
    Réponses: 4
    Dernier message: 27/05/2006, 20h00
  3. Réponses: 7
    Dernier message: 27/03/2006, 19h50
  4. [SQL] Requête JOIN mais seulement 1er enregistrement ?
    Par tamagotchi dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/03/2006, 12h25
  5. Réponses: 3
    Dernier message: 06/12/2005, 13h44

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