ورود

View Full Version : سوال: فیلترکردن comboBox



Mohya_z332
چهارشنبه 27 شهریور 1387, 11:23 صبح
با سلام...
میخواستم بدونم چه جوری میشه وقتی تو کمبو باکس یه حرف رو مینویسیم مثلا اول اسم یک نفر رو تو لیست کومبو همه اسمهایی که با اون حرف تو دیتا بیسم دارم نشون بده . در واقع فیلتر کنه .

Mbt925
چهارشنبه 27 شهریور 1387, 11:46 صبح
یکی از این 3 ابزار، دقیقا کاری که شما می خواید رو انجام میده.


http://barnamenevis.org/forum/showpost.php?p=555674&postcount=252

reza-alavi
چهارشنبه 27 شهریور 1387, 12:14 عصر
دوست عزیز می تونی از کد زیر استفاده کنی:

Private Sub Combo1_Change()
Dim Rec As New Recordset
Set Rec = DataEnv.Connection1.Execute("Select distinct Name from Table where Name like '" & Combo1.Text & "%'")
If Rec.RecordCount <> 0 Then

While Combo1.ListCount <> 0

Combo1.RemoveItem 0
Wend
While Not Rec.EOF

Combo1.AddItem Rec.Fields("UserName")
Rec.MoveNext
Wend
End If
End Sub


امیدوارم که منظورت رو درست فهمیده باشم و این کد راهکار مناسبی باشه.:چشمک:

Mohya_z332
پنج شنبه 28 شهریور 1387, 12:08 عصر
دوست عزیز می تونی از کد زیر استفاده کنی:

Private Sub Combo1_Change()
Dim Rec As New Recordset
Set Rec = DataEnv.Connection1.Execute("Select distinct Name from Table where Name like '" & Combo1.Text & "%'")
If Rec.RecordCount <> 0 Then

While Combo1.ListCount <> 0

Combo1.RemoveItem 0




Wend

While Not Rec.EOF

Combo1.AddItem Rec.Fields("UserName")


Rec.MoveNext

Wend


End If

End Sub



امیدوارم که منظورت رو درست فهمیده باشم و این کد راهکار مناسبی باشه.:چشمک:



دوست عزیز میتونی یه نمونه بزاری ؟

Mohya_z332
چهارشنبه 10 مهر 1387, 13:53 عصر
با سلام به دوستان ابزارهاي معرفي شده چند تا اشكال داشت و برنامه آقا رضا هم جواب نداد ، اما من خودم اونو نوشتم و ميزارم تا اگه كسي احتياج پيدا كرد ، اينجا باشه .

Private Sub Combo3_Change()
If Combo3.Text = "" Then
While Combo3.ListCount <> 0
Combo3.RemoveItem (0)
Wend
End Sub

Private Sub Combo3_KeyDown(KeyCode As Integer, Shift As Integer)
Dim a, str As String
If KeyCode = 38 Or KeyCode = 40 Then Exit Sub
If KeyCode = 13 Then
a = Combo3.Text
Text8.SetFocus
GoTo 1
End If
If KeyCode = 27 Then
Image3_Click
Else
End If
While Combo3.ListCount <> 0
Combo3.RemoveItem (0)
Wend
Data3.Recordset.FindFirst "Maghsad like '*" & (Combo3.Text) & "*'"
Do While Data3.Recordset.NoMatch = False
Combo3.AddItem Data3.Recordset.Fields("Maghsad")
Data3.Recordset.FindNext "Maghsad like '*" & (Combo3.Text) & "*'"
Loop
If Len(Combo3.Text) = 0 Then
KeyCode = 115
'Combo3.SetFocus
'Combo3.SelStart = 255
End If
Exit Sub
1
Combo3.Text = a
End Sub