begin process at 2008 07 05 05:06:47
1 205 048 membres
34 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : recherche dans une base de données [ Archives Visual Basic / Bases de données ] (samir)

recherche dans une base de données le 15/09/2001 16:01:23

samir
salut
j'ai une base qui contient 3 tables:articles,guides et ventes.la base est créée avec access97.
mon prog de gestion de cette base comprend un bouton rechercher.
voici le code de recherche (cmdfindvente):

Private Sub Cmdfindvente_Click()
Set db = OpenDatabase(rep + "\nbase.mdb") ' rep =app.path
Set rs = db.OpenRecordset("ventes", dbOpenDynaset)
MsgBox rs.RecordCount, vbOKCancel, "compte"
cherche = Trim(cherchev.Text)
i = 0
grillv.Rows = 1
For i = 0 To rs.Fields.Count - 1
grillv.TextMatrix(0, i) = rs.Fields(i).Name
Next
critere = "refart like '" & herche& "'" 'refart : reference article
j = 1
rs.FindFirst critere
Do While Not rs.NoMatch
rs.FindNext critere
grillv.AddItem ""
For i = 0 To rs.Fields.Count - 1
grillv.TextMatrix(j, i) = rs.Fields(i)
Next i
rs.MoveNext
j = j + 1
Loop
End Sub

NB : je peux trouver les données que j'entre avec access
mais pas ceux que je saisie par l'interface VB pourtant ils sont presents dans la base!!!
ce code contient t-il des erreurs?
klk 1 peux t'il m'aider ?
merci encore

Re : recherche dans une base de données le 15/09/2001 17:16:37

RememberTheKing
après ton AddItem fais un Refresh.
A+
-------------------------------
Réponse au message :
-------------------------------

salut
j'ai une base qui contient 3 tables:articles,guides et ventes.la base est créée avec access97.
mon prog de gestion de cette base comprend un bouton rechercher.
voici le code de recherche (cmdfindvente):

Private Sub Cmdfindvente_Click()
Set db = OpenDatabase(rep + "\nbase.mdb") ' rep =app.path
Set rs = db.OpenRecordset("ventes", dbOpenDynaset)
MsgBox rs.RecordCount, vbOKCancel, "compte"
cherche = Trim(cherchev.Text)
i = 0
grillv.Rows = 1
For i = 0 To rs.Fields.Count - 1
grillv.TextMatrix(0, i) = rs.Fields(i).Name
Next
critere = "refart like '" & herche& "'" 'refart : reference article
j = 1
rs.FindFirst critere
Do While Not rs.NoMatch
rs.FindNext critere
grillv.AddItem ""
For i = 0 To rs.Fields.Count - 1
grillv.TextMatrix(j, i) = rs.Fields(i)
Next i
rs.MoveNext
j = j + 1
Loop
End Sub

NB : je peux trouver les données que j'entre avec access
mais pas ceux que je saisie par l'interface VB pourtant ils sont presents dans la base!!!
ce code contient t-il des erreurs?
klk 1 peux t'il m'aider ?
merci encore


Re : recherche dans une base de données le 16/09/2001 15:16:03

samir
merci Remembertheking pour ta reponse.
mais je suis tjrs bloqué.
pourais-tu m'expliquer encore plus(comment faire un refresh).la procedure cmdfindvente est elle juste?
je vous explique le probleme encore plus :

la feuille ou je fais la recherche comprends:
un textbox : pour saisir la reference à chercher
un commandbuton cmdfindventes pour lancer la recherche
un autre command dont caption est " liste des ventes"

une msflexgrid : pour afficher les enregistrements trouvés ou la liste de toutes les ventes.

ce que je comprends pas c'est que j'arrive à afficher dans la flex la liste des ventes .et lorsque je cherche une reference qui est presente dans la liste je la trouve pas?!!!
si vous pouvez m'aider je peux vous envoyer le projet sur ton email?
si klk1 a un exemple pareil merci de me l'envoyez a mon adresse mail samir_36@yahoo.fr

merci pour tous


Re : recherche dans une base de données le 16/09/2001 16:50:31

RememberTheKing
Il serait effectivement plus simple de m'envoyer ton prog sur : RememberTheKing@skynet.be

Avant tout essaie tout de même :
Ligne 11 ta variable de recherche est écrite 'herche' est-ce une erreur de transcription ?
Ligne 5 ta variable Cherche est définie par ChercheV.text
n'est-ce pas ChercheV.List() ?
Ensuite je ne comprends pas bien ton code : Tu cherches un
enregistrement critére dans ton recordset et ensuite tu demande de remplir ta Grille à partir du 1er enregistrement du recordset et jusqu'à la fin.
A quoi te sert ton find ?
Ne voulais-tu pas utiliser un Select sur le critére.

A+


1 Private Sub Cmdfindvente_Click()
2 Set db = OpenDatabase(rep + "\nbase.mdb") ' rep =app.path
3 Set rs = db.OpenRecordset("ventes", dbOpenDynaset)
4 MsgBox rs.RecordCount, vbOKCancel, "compte"
5 cherche = Trim(cherchev.Text)
6 i = 0
7 grillv.Rows = 1
8 For i = 0 To rs.Fields.Count - 1
9 grillv.TextMatrix(0, i) = rs.Fields(i).Name
10 Next
11 critere = "refart like '" & herche& "'" 'refart : reference article
12 j = 1
13 rs.FindFirst critere
14 Do While Not rs.NoMatch
15 rs.FindNext critere
16 grillv.AddItem ""
17 For i = 0 To rs.Fields.Count - 1
18 grillv.TextMatrix(j, i) = rs.Fields(i)
19 Next i
20 rs.MoveNext
21 j = j + 1
22 Loop
23 End Sub




-------------------------------
Réponse au message :
-------------------------------

merci Remembertheking pour ta reponse.
mais je suis tjrs bloqué.
pourais-tu m'expliquer encore plus(comment faire un refresh).la procedure cmdfindvente est elle juste?
je vous explique le probleme encore plus :

la feuille ou je fais la recherche comprends:
un textbox : pour saisir la reference à chercher
un commandbuton cmdfindventes pour lancer la recherche
un autre command dont caption est " liste des ventes"

une msflexgrid : pour afficher les enregistrements trouvés ou la liste de toutes les ventes.

ce que je comprends pas c'est que j'arrive à afficher dans la flex la liste des ventes .et lorsque je cherche une reference qui est presente dans la liste je la trouve pas?!!!
si vous pouvez m'aider je peux vous envoyer le projet sur ton email?
si klk1 a un exemple pareil merci de me l'envoyez a mon adresse mail samir_36@yahoo.fr

merci pour tous



Re : recherche dans une base de données le 18/09/2001 19:43:13

samir36
bonjour
ok cher ami , j'ai envoyé le projet a ton email

merci encore



Classé sous : base, recherche, fields, rs, grillv

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS