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 :

[VBA]Comparer une donnée à la liste retournée par un recordset


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 30
    Points : 24
    Points
    24
    Par défaut [VBA]Comparer une donnée à la liste retournée par un recordset
    Bonjour,

    me voici à nouveau quémandant un peu d'aide...dans la lignée de ce qui est dit ici...j'ai effectivement converti ma table en tableau

    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
    Dim db As Database
    Dim rs As Recordset
    Dim varprenom() As String
    Dim i As Integer
    Dim j As Integer
      Set db = CurrentDb()
       Set rs = db.OpenRecordset("T_Liste", dbOpenTable, dbForwardOnly)
    i = rs.RecordCount
    For j = 1 To i
    ReDim varprenom(j)
       varprenom(j) = rs!prenom & ""
        rs.MoveNext
    If Cmb_Rech3 = varprenom(j) Then
        MsgBox "cette personne est enregistrée dans le système", vbInformation, "Casier judiciaire Existant"
    Else
     
      MsgBox "Cette personne n'est pas listée dans le registre des Abonnés.", vbInformation, "Non Enregistré"
     
     
    End If
    Next j
            rs.Close
            db.Close
    Mais mon objectif est de comparer la valeur saisie dans Cmb_Rech3 à la liste des données retournée par le recordset... la boucle que j'ai utilisée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if cmb_rech3= varprenom(j)
    ) ne marche pas ...J'arrive à lire l'ensemble des données en codant:

    Mais j'obtiens tjrs le message que cette personne n'est pas listée.....Un coup de pouce car je sens que c'est au niveau de la comparaison que cela ne marche pas...l'idée serait de dire ( si Valeur saisie (cmb_Rech3) est dans la liste (varprenom(j)) alors "Trouvé"....

    Integrale

  2. #2
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Lorsque tu fais ton test, fais plutot un strcomp vu que ca a l'air d'être des strings que tu compare... Un truc dans le style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(strcomp(me.cmb_rech3, varprenom(j)) = 0) then
        Msgbox ("ok")
    else
        Msgbox ("nok")
    end if
    Je changerai meme cette partie car la, tu va avoir autant de msgbox que d'enregistrements dans ta table. Définis une valeur de test à 0 que tu change à 1 si tu trouve le prenom dans la base (et a ce moment la, tu sors du for)
    A la fin du for, tu test ta variable et tu peux ainsi dire si le prenom est dans ta table ou pas...

    Par contre, après un rapide coup d'oeil, je ne vois pas d'erreur de code au niveau du recordset à proprement parler

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/08/2012, 03h31
  2. Réponses: 0
    Dernier message: 02/06/2010, 23h57
  3. [Source][VBA-E] Remplir une zone de liste Excel par une requête Access
    Par cafeine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/01/2007, 13h26
  4. Réponses: 1
    Dernier message: 22/03/2006, 12h03
  5. [VBA] Comparer des données en excel
    Par Micavk dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/10/2005, 12h26

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