PDA

View Full Version : سوال: آیا روشی برای پیدانمودن محتویات کمبو ازوسط تکست وجود دارد؟



saeedyaz
پنج شنبه 14 خرداد 1388, 01:06 صبح
سلام خدمتت دوستان
به نظر شما راهی وجود دارد که همانطور که در کمبو ها با ثبت حروف اول کلمه پیدا میشود- بتوان وسط اطلاعات را پیدا کند.... مثلا علی را در محمد علی....

bitasoft.ir
جمعه 15 خرداد 1388, 13:58 عصر
سلام خدمتت دوستان
به نظر شما راهی وجود دارد که همانطور که در کمبو ها با ثبت حروف اول کلمه پیدا میشود- بتوان وسط اطلاعات را پیدا کند.... مثلا علی را در محمد علی....

این کار رو میشه انجام داد.
باید در بخش Event های مربوط به کامبو باکس یک خط برنامه بنویسین که در هنگام تایپ یک حرف یا کلمه مقدار داده های کامبو باکس بشود فیلتر شده تکست تایپ شده.
در حقیقت دستور Filter که برای سرچ بسیار قوی عمل می کنه.

dadsara
شنبه 16 خرداد 1388, 08:43 صبح
سلام

این کار رو میشه انجام داد.
میشه در یک نمونه پیشنهاد خود را پیاده کنید

dadsara
یک شنبه 17 خرداد 1388, 10:43 صبح
این کار رو میشه انجام داد.
باید در بخش Event های مربوط به کامبو باکس یک خط برنامه بنویسین که در هنگام تایپ یک حرف یا کلمه مقدار داده های کامبو باکس بشود فیلتر شده تکست تایپ شده.
در حقیقت دستور Filter که برای سرچ بسیار قوی عمل می کنه.
سلام
ببخشید از پیگیری مجددم، میشه در یک نمونه مطالب خود را بفرمائید

ali_bagheri34
یک شنبه 17 خرداد 1388, 18:44 عصر
سلام
من نيز از شما خواهش مي كنم كه يك نمونه را برايمان بگذاريد چون دقيقا من نيز همين سوال را دارم
متشكرم

bitasoft.ir
دوشنبه 18 خرداد 1388, 01:11 صبح
سلام
من Source رو با کمی تغییر که بشه راحت تر فهمیدش براتون گذاشتم.
البته ناگفته نمونه که ممکنه با بعضی از حروف فارسی در بعضی از ویندوزها مشکل داشته باشه و کلمات رو درست نشون نده.

اوامری بود در خدمتم.

این هم سرسش برای مطالعه بیشتر


Option Compare Database
Private Sub Form_Load()

Combo0.RowSource = "SELECT Table1.Name FROM Table1 ORDER BY Table1.Name;"
End Sub
Private Sub Combo0_Change()

Dim MyText, BitasoftFind
MyText = Me.Combo0.Text
If Len(Trim(MyText)) > 0 Then
BitasoftFind = "Name Like '"
For i = 1 To Len(Trim(MyText))
If (Right(BitasoftFind, 1) = "*") Then
BitasoftFind = Left(BitasoftFind, Len(BitasoftFind) - 1)
End If
BitasoftFind = BitasoftFind & "*" & Mid(MyText, i, 1) & "*"
Next
BitasoftFind = BitasoftFind & "'"
strSQL = "SELECT Table1.Name FROM Table1 Where " & _
BitasoftFind & " ORDER BY Table1.Name;"
Me.Combo0.RowSource = strSQL

Else

strSQL = "SELECT Table1.Name FROM ORDER BY Table1.Name; "
Me.Combo0.RowSource = strSQL
End If
Me.Combo0.Dropdown
End Sub

dadsara
سه شنبه 19 خرداد 1388, 09:07 صبح
سلام
دوست عزیز من نمونه جنابعالی راملاحظه نمودم ، همانگونه که در تصویر ضمیمه ملاحظه می کنید جنابعالی کاراکترها را بصورت تکی در و ترکیبی در کومبو جستجو می کنید
در نمونه زیر ملاحظه می کنید که اصلا ترکیب ری وجود ندارد

bitasoft.ir
دوشنبه 15 تیر 1388, 22:38 عصر
سلام
دوست عزیز من نمونه جنابعالی راملاحظه نمودم ، همانگونه که در تصویر ضمیمه ملاحظه می کنید جنابعالی کاراکترها را بصورت تکی در و ترکیبی در کومبو جستجو می کنید
در نمونه زیر ملاحظه می کنید که اصلا ترکیب ری وجود ندارد

سلام
متشکرم از گوشزدتون. این به خاطر اینه که از دستور Like استفاده شده. البته این رو میتونین با تغییر محل اون ستاره هایی که قبل و بعد از Like قرار میگیره و همچنین کاراکترها ویژه حل کرد.

من تا اینجا رو راهنمایی کردم. بقیش رو هم خودتون زحمتش رو بکشین. فقط همینقدر عرض کنم که همراه با Like می توانید از % و * و # و چند تا دیگه که خاطرم نیست استفاده کنین تا این مشکل حل بشه.

نکته مهم اینکه من عرض کردم این برنامه ممکنه در بعضی موارد کار نده ولی به هر حال چیز کار راه بندازیه.