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

VB 6 et antérieur Discussion :

Recherche qui passe par ts les enregistrements identiques à ce qu'on cherche


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Recherche qui passe par ts les enregistrements identiques à ce qu'on cherche
    Bonjour,je travaille sous ado,vb6,et je veux par exemple chercher par nom un certain enregistrement,si par exemple j'ai plusieurs enregistrements qui ont le meme nom,ma recherche s'arrête au premier qu'elle trouve identique à ce qu'on cherche,comment puis je faire pour passer aux autres enregistrements grâce à un msgbox vbokno,??
    Merci d'avance et j'espere recevoir vos idées et suggestions

  2. #2
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    tout simple (methode ADO).

    Apres avoir afficher le premier enregistrement pour passer au suivant tu fait

    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  3. #3
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 79
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Bonjour

    Ta requête de recherche te renvoit un recordset dans lequel tu peux naviguer tout à fait classiquement. Comme je présume que tu veux afficher chaque ligne trouvée dans des textboxes, il convient de lier les dites textboxes aux données. Plusieurs méthodes, selon la façon dont tu as obtenu ton recordset (DataEnvironment, Control Data ADO ou code).
    Dans ce qui suit, la liaison aux données s'effectue par unle biais d'une collection Binding.
    Section Déclarations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim cn As ADODB.Connection
    Private WithEvents rsPub As ADODB.Recordset
    Dim BndPublishers As BindingCollection
    Chargement du formulaire
    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
    Private Sub Form_Load()
      Dim SQL As String
      Set cn = New ADODB.Connection
      Set rsPub = New ADODB.Recordset
      Set BndPublishers = New BindingCollection
      cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DidactDB\Biblio2000.mdb"
      SQL = "SELECT Publishers.* From Publishers WHERE City ='New York'"
     
      rsPub.CursorLocation = adUseClient
      rsPub.Open SQL, cn, adOpenDynamic, adLockOptimistic, adCmdText
      rsPub.MoveFirst
      Set BndPublishers.DataSource = rsPub
      'Ajoute à la collection Bindings.
       With BndPublishers
          .Add txtPubID, "Text", "PubID", , "ID"
          .Add txtName, "Text", "Name", , "Nom"
          .Add txtCity, "Text", "City", , "Localité"
       End With
    End Sub
    La navigation
    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 cmdNav1_Click(Index As Integer)
      With rsPub
        Select Case Index
          Case 0
            .MoveFirst
          Case 1
            .MovePrevious     'Enregistrement précédent
            If .BOF Then
              MsgBox "Début du jeu d'enregistrement"
              .MoveFirst
            End If
          Case 2
            .MoveNext     'Enregistrement suivant
            If .EOF Then
              MsgBox "Fin du jeu d'enregistrement"
              .MoveLast
            End If
          Case 3
          .MoveLast
        End Select
      End With
    End Sub
    Mais peut-être qu'afficher tes données dans une DataGrid serait suffisant? Là, plus de problème de navigation, et une liaison aux données plus facile.

    PS: la base de données est la base exemple d'Access. A toi d'adapter pour tes besoins.

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Tu peux aussi utiliser un filtre sur ton recordset et ensuite naviguer dans ce recordset filtré avec les méthode classiques (MoveNext, MovePrevious, MoveFirst et MoveLast)

    soit rs ton recordset "complet"

    tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rs.Filter= "[Champ de recherche]='" & critère & "'"
    et après MoveNext, MovePrevious, MoveFirst et MoveLast, etc...

Discussions similaires

  1. Listview qui n'affiche pas les enregistrements
    Par arindor dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/10/2007, 16h31
  2. Connaitre l'adresse IP du machine qui passe par un proxy
    Par regisba dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 02/12/2006, 09h26
  3. Réponses: 2
    Dernier message: 26/09/2006, 18h19
  4. faire somme de tous les enregistrements identiques
    Par Keraccess dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/07/2005, 11h03

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