cs_zidane22
Messages postés67Date d'inscriptionjeudi 1 juillet 2010StatutMembreDernière intervention13 octobre 2010
-
3 août 2010 à 09:55
cs_zidane22
Messages postés67Date d'inscriptionjeudi 1 juillet 2010StatutMembreDernière intervention13 octobre 2010
-
6 août 2010 à 18:29
Bonjour à tous,
Dans cmd_recherche, j'aimerais bien savoir le code qui permet à ajouter la fonctionnalité de correspondance à un textbox lié à une base de donnée access.
c-à-d, si je chercher un nom, je veux quand je commence à saisir les premiers caractères , on me propose les noms qui commencent par ces caractères . (c'est la propriété qu'on trouve dans excel)
Voici le code dont je me sert dans cmd_recherche
On Error Resume Next
If Text1.Text = "" Then
MsgBox "Veuiller saisir un nom à rechercher", vbInformation + _
vbMsgBoxRtlReading + vbOKOnly, "Attention"
End If
If Text1.Text <> "" Then
If IsNumeric(Text1) = False Then
Set RS = New ADODB.Recordset
RS.Open "select * from patient where nom like '%" & Text1.Text & "%' And prenom like '%" & Text2.Text & "%'", DB, adOpenStatic, adLockOptimistic
If RS.RecordCount > 0 Then
Text1.Text = RS!Nom
Text2.Text = RS!Prenom
Text3.Text = RS!age
Text4.Text = RS!date
Text5.Text = RS!diagnostic
Text6.Text = RS!plan
Text7.Text = RS!obs
Else
MsgBox "Aucun patient avec ce nom", vbInformation + _
vbMsgBoxRtlReading + vbOKOnly, "Attention"
End If
Text1.SetFocus
End If
End If
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 3 août 2010 à 16:47
Salut
Si c'est faisable
ta query
RS.Open "select * from patient ", DB, adOpenStatic, adLockOptimistic
If RS.RecordCount > 0 Then
'comboname est un combobox
'vider le combobox sinon chaque fois les items vont s'accumuler
Comboname.Items.Clear()
RS.movefirst
do while not RS.EOF
comboname.Items.Add(RS.field(0) & rs.field(1))
'je suppose que field(0) et field(1) sont
le nom et le prénom
RS.movenext
loop
comboname.sorted
cs_zidane22
Messages postés67Date d'inscriptionjeudi 1 juillet 2010StatutMembreDernière intervention13 octobre 2010 4 août 2010 à 00:25
Merci ShayW
Mais étes vous certain que ce que me proposer est de vb6?
Je dis ça parceque j'ai reçu plein de messages d'erreur lors de l'éxécution du code!
merci en tous les cas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 4 août 2010 à 02:16
c'est du vb.net je me suis trompé
RS.Open "select * from patient ORDER BY Nom,Prenom ", DB, adOpenStatic, adLockOptimistic
If RS.RecordCount > 0 Then
'comboname est un combobox
'vider le combobox sinon chaque fois les items vont s'accumuler
ComboName.clear
RS.movefirst
do while not RS.EOF
comboname.AddItem(RS.field(0) & rs.field(1))
'je suppose que field(0) et field(1) sont
le nom et le prénom
RS.movenext
loop
cs_zidane22
Messages postés67Date d'inscriptionjeudi 1 juillet 2010StatutMembreDernière intervention13 octobre 2010 5 août 2010 à 20:24
Merci beaucoup ShayW pour votre aide, mais malheureusement j'ai pas reussi à manipuler ce code.
Je sais que c'est de ma faute. Je crois que je dois pas etre tres ambitieux!
Et merci encore mile fois.
cs_zidane22
Messages postés67Date d'inscriptionjeudi 1 juillet 2010StatutMembreDernière intervention13 octobre 2010 5 août 2010 à 23:58
Merci de votre encouragement
En fait, j'ai éssayé pas mal de fois mais en vain.
J'ai pu charger tous les nom dans le combobox par moyen de ce code en form load:
Cobo1.AddItem RS!Nom
Mais je savais pas ou je dois mettre le code que vous m'avez proposé.
Dois-je le placer dans l'évenement combo1_click ou bien cmd_recherche ou bien text1_Change...?
J'ai éssayer avec tous ces evenement mais sans résultats.
Désolé de mon dérangement
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 6 août 2010 à 17:02
Salut
Je n'ai pas bien expliqué
le resultat de ta requete en dans RS qui est un recordset
Maintenant il faut transferer son contenu dans
un combobox
pour cela j'ajoute une sub (j'ai oublié de te le dire)
Private Sub InsertComboName()
If RS.RecordCount > 0 Then
'comboname est un combobox
'vider le combobox sinon chaque fois les items vont s'accumuler
ComboName.clear
RS.movefirst
do while not RS.EOF
comboname.AddItem(RS.field(0) & rs.field(1))
'je suppose que field(0) et field(1) sont
le nom et le prénom
RS.movenext
loop
end sub
Maintenant ou vas tu appeler la sub ?
Après la requete pas dans un evenement du combobox
exemple
RS.Open "select * from patient ORDER BY Nom,Prenom ", DB, adOpenStatic, adLockOptimistic
InsertComboName
pourquoi adOpenStatic et non adOpenDynamic
Essayes avec le debugger
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 6 août 2010 à 17:06
Je corrige
au lieu de comboname.AddItem(RS.field(0) & rs.field(1))
'ajouter un espace entre le nom et prenom
comboname.AddItem(RS.field(0) &" "& rs.field(1))
cs_zidane22
Messages postés67Date d'inscriptionjeudi 1 juillet 2010StatutMembreDernière intervention13 octobre 2010 6 août 2010 à 18:29
Merci ShayW
Je reçois encore des messages d'erreurs liés a RS.field(0)et rs.field(1)).je crois que je dois céder ici parce que c'est pas quelque chose de grande importance pour mon application..
merci beaucoup