Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
901 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] comment rechercher un champ dans une base de données access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6] comment rechercher un champ dans une base de données access

n°137724
V-ro
Posté le 12-05-2002 à 00:29:52  profilanswer
 

Salut,  
 
J'essaye de créer une petite aplication vb qui permet de gerer une liste de jeux avec access. je n'arrive pas a rechercher un champ.La personne doit entrer le titre du jeux dans une textbox et c'est avec son contenu que je doit faire la recherche .
 
     
 
Ps: Je ne suis pas encore habituée aux base de données alors soyer pas trop raide. :bounce:

mood
Publicité
Posté le 12-05-2002 à 00:29:52  profilanswer
 

n°137791
ceyquem
E falso sequitur quodlibet
Posté le 12-05-2002 à 12:51:47  profilanswer
 

t'utilises koi pour te connecter ? DAO ou ADO ?

n°137807
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-05-2002 à 13:24:41  profilanswer
 

De toute façon, la requête sera la suivante, dans le cas ou tu stockes le titre de ton jeu dans le champ "TitreJeu" de ta bdd :
 
SQL="SELECT * FROM Jeux WHERE TitreJeu LIKE '*" & TextBox1.Text & "*'"

 

[jfdsdjhfuetppo]--Message édité par Harkonnen le 12-05-2002 à 13:25:35--[/jfdsdjhfuetppo]


---------------
J'ai un string dans l'array (Paris Hilton)
n°137923
V-ro
Posté le 12-05-2002 à 19:35:58  profilanswer
 

Ça marche pas... la description de mon jeu ne s'affiche pas,c'est comme si il ne voyais pas que je fait une recherche.  
 
voici ce que j'ai écris :  
 
Private Sub cmdrechercher_Click()
 
      frmprincipale.adoliste.RecordSource = "SELECT * FROM tblliste WHERE fldtitre LIKE '*" & txttitrerech.Text & "*'"
      frmprincipale.show
 
End Sub
 
ps : j'ai deux feuille frmrechercher (ou je fait la recherche)et frmprincipale ( ou les infos du jeu sont afficher)
 
  :heink:

n°137942
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-05-2002 à 21:03:55  profilanswer
 

"adoliste", c'est quoi comme controle ?
 
V-Ro> "passion : informatique" selon ton profil ! C'est plutot rare pour une fille, surtout quand la passion est la prog  :)  
 
Bienvenue dans ce forum, en espérant que tu posteras souvent  :)  :hello:  
 
Qui a dit que j'étais en chaleur  :D

 

[jfdsdjhfuetppo]--Message édité par Harkonnen le 12-05-2002 à 21:08:42--[/jfdsdjhfuetppo]


---------------
J'ai un string dans l'array (Paris Hilton)
n°138005
V-ro
Posté le 12-05-2002 à 23:11:19  profilanswer
 

adoliste c mon controle ADO :)
 
merci pour le mot de bienvenue :)

n°138011
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-05-2002 à 23:33:58  profilanswer
 

Tu as déja une erreur :
 
1 - Toujours faire un refresh de ton controle après avoir initialisé sa RecordSource :
 

Citation :

Private Sub cmdrechercher_Click()  
 
     frmprincipale.adoliste.RecordSource = "SELECT * FROM tblliste WHERE fldtitre LIKE '*" & txttitrerech.Text & "*'"  
     frmprincipale.adoliste.Refresh
     frmprincipale.show  
 
End Sub


 
Ensuite, dans quoi affiches tu tes données ? Le controle ADO ne te permet de gérer que la connection à la base, et pas de les afficher. Tu dois pour ceci ajouter un controle à ta form pour afficher tes données.
 
Enfin, la ConnectionString de ton contrôle est elle correcte ? Utilises tu le bon Provider (Access 2000 = Microsoft Jet 4.0)
 
Exemple de code qui utilise un controle ADO, et qui affiche le nom du jeu dans un TextBox (Text1). Je suppose que tu utilises une base Access 2000:
 
 
Private Sub Form_Load()
   Dim Chemin As String
   Path = "C:\Jeux.mdb"
   With Adoliste
      .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Persist Security Info=False;" & _
      "Data Source=" & Chemin & _
      "; Mode=Read|Write"
      .RecordSource = "SELECT fldtitre FROM tblliste WHERE fldtitre LIKE '*" & txttitrerech.Text & "*'"
      .Refresh
   End With
   
   With Text1
      .DataField = "fldtitre"
      Set .DataSource = adoliste
   End With
End Sub
 
J'ai pondu ce code à l'arrache sans tester, mais normalement le nom du jeu devrait apparaitre dans le TextBox.
 
A+

 

[jfdsdjhfuetppo]--Message édité par Harkonnen le 12-05-2002 à 23:34:59--[/jfdsdjhfuetppo]


---------------
J'ai un string dans l'array (Paris Hilton)
n°138025
V-ro
Posté le 13-05-2002 à 01:34:11  profilanswer
 

J'utilise access 97 ...
 
voici ce que jai compris et essayer :)  
 
Private Sub cmdrechercher_Click()
       frmprincipale.adoliste.RecordSource = _
              "SELECT * FROM tblliste WHERE fldtitre LIKE '*" & txttitrerech.Text & "*'"
       frmprincipale.adoliste.Refresh
       With txttitrerech
            .DataField = "fldtitre"
            Set .DataSource = frmprincipale.adoliste
       End With
       frmprincipale.Show
End Sub
 
resultat :
il y a des case blanche dans mes label
 
(les informations  du jeu sont afficher dans des labels sur la feuille frmprincipale ... )
 
bye  :hello: :)

n°138031
HappyHarry
Posté le 13-05-2002 à 07:28:49  profilanswer
 

tiens j'aurais mis % moi comme caractere generique ...

n°138328
V-ro
Posté le 13-05-2002 à 18:02:27  profilanswer
 

Un % ... où et pourquoi ?

mood
Publicité
Posté le 13-05-2002 à 18:02:27  profilanswer
 

n°138331
HappyHarry
Posté le 13-05-2002 à 18:19:40  profilanswer
 

Citation :

LIKE '*" & TextBox1.Text & "*'"  


 
les étoiles je vois pas trop a koi ca sert
si tu veux un caractere generique pour ta recherche, c %

n°138339
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2002 à 18:24:48  profilanswer
 

Si tu utilises Access 97, alors le provider est "Microsoft.Jet.OLEDB.3.5".
 
As tu essayé l'exemple que je t'ai fourni ? Dans cet exemple, remplace "Microsoft.Jet.OLEDB.4.0" par "Microsoft.Jet.OLEDB.3.5"
 
La propriété ConnectionString est très importante, sinon tu ne pourras pas te connecter à ta base.
 
Essaye l'exemple que je t'ai donné, remplace la variable Chemin par le chemin d'accès à ta base. Normalement, tout devrait fonctionner sans pb. La seule raison qui fait que ça ne fonctionne pas est que ton contrôle ADO est mal configuré.
 
HappyHarry> j'ai tjs mis des "*" et ça a toujours marché. Il est possible que seul Jet n'accepte ces jokers.


---------------
J'ai un string dans l'array (Paris Hilton)
n°138340
HappyHarry
Posté le 13-05-2002 à 18:25:33  profilanswer
 

Harkonnen > et moi toujours des '%' paske c standars SQL  :)

n°138464
V-ro
Posté le 14-05-2002 à 01:59:45  profilanswer
 

ok ok  
pas de chicane les gars chu pas la pour jouer la maman  
 
lol :)
 
merci du coup de main je t'en reparle  
 
bye :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6] comment rechercher un champ dans une base de données access

 

Sujets relatifs
[VC++] Je cherche des infos sur la base de registre...[ HTML ou JAVASCRIPT... ] Afficher un champ...
[C++] Base de donnée locale - stockage de données ?[VB6] Faire une barre d'outils???
[php] Pour enlever des données entre 2 occurences[VB dans Access] Un bouton "Vider" ??
[VB] virer les sauts de lignes d'un champs AccessConnexion Php-Access sans DSN ???
quel soft sous win pour héberger un site en php avec base mysql 
Plus de sujets relatifs à : [VB6] comment rechercher un champ dans une base de données access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR