Recherche dans une table????

tinou - 20 avril 2001 à 20:40
 tinou - 24 avril 2001 à 21:37
Encore un pb!!
Je voudrais faire une recherche dans une table sur un champs.
Par exemple, je saisie dans une boite de dialogue un libellé de produit et quand je clique sur OK, j'ouvre une feille qui affiche le titre du produits + som numéro + son format...
Est-ce possible de renvoyer une ligne d'enregistrements?
Et est-ce que ca marche si je récupère plusieurs lignes??????
Help!!!!!!!
et merci d'avance.

5 réponses

Dim BD as Database
Dim RS as RecordSet
Dim SQLQRY as String

'Disons que ton champs s'appelle Text1

SQLQRY="SELECT * FROM TableProduits WHERE LibelléProduit = '"& Text1.Text &"';"

'Si BD pas ouverte:
Set BD = DBEngine.OpenDatabase(NomFichier, False, False)

Set RS = BD.OpenRecordset(SQLQRY, dbOpenSnapShot)

If (RS.RecordCount=1) Then  'à moins de faire RS.MoveLast avant, RecordCount est toujours 1 s'il y as au moins un enregistrement
  Do
   ' Pour simplifier, disons que tu as ouvert ta seconde feuille plus tôt
   ' Et que l'objet destination est un ListBox:
   Form2.ListBox1.AddItem RS.Fields("TitreProduit").Value & " / " & RS.Fields("NuméroProduit").Value & " / " & RS.Fields("FormatProduit").Value
   'Bien entendu la forme:
   'Form2.ListBox.AddItem RS!TitreProduit & " / " & RS!NuméroProduit & " / " & RS!FormatProduit
   'Est toute aussi bien, mais moins flexible dans certains cas.
   RS.MoveNext
  Loop Until RS.EOF
End If

0
ReHelp!!!!!!
J'ai un petit pb, quand je veux déclarer ma variables bd comme base de données, database ne s'affiche pas dans la liste proposée. Donc comme je la créé, au moment de l'exécution, il me dit que mon type de variable n'est pas défini!!!
Comment faire pour rajouter database à la liste des types prédéfinis?????
Sinon merci pour le code.
0
Dans les références au projet (Project->References...) ajoute "Microsoft DAO ..." prend la version la plus récente (par défaut VB s'installe avec la version 2.5/3.5, j'ai aussi 3.51 et 3.6... p-ê à cause des 'Service Pack')
0
j'ai bien repris ton code mais ca ne marche pas!!!
Comme j'ai liéé vb avec Mysql peut-être que le pb vient de la. Qd j'exécute il me met une erreur d'exécution n°13 et me souligne cette ligne dans le code:

Set rs = bd.OpenRecordset(sqlqy, dbOpenSnapShot)

Deplus qu'est-ce que tu entends par NomFichier dans la ligne suivante:

Set bd = DBEngine.OpenDatabase(NomFichier, False, False)

Dans la mesure ou je débute j'ai vraiment du mal a tout assimiler, désolé...

Et merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je suis vraiment bloqué, et si tu pouvais me dépatouyer ce serait vraiment sympa!

merci...
0
Rejoignez-nous