PDA

View Full Version : سوال: درخواست تصحیح کد برای combo



najafi87
چهارشنبه 03 خرداد 1391, 16:43 عصر
سلام. از تمام دوستان عزیز تقاضا می کنم تکه برنامه زیر را تصحیح نمایند.
مشکلات برنامه:
1- عملکرد نادرست هنگام انتخاب با ماوس (یعنی هنگام استفاده از ماوس نباید ماژول عمل کنه و نباید داده ها فیلتر بشن-چون انتخاب با ماوس یه انتخاب مستقیمه)
2- نمی توان با ماوس گزینه ای را از داخل کمبو انتخاب کرد. مثلا بعد از کلیک روی گزینه ای در کمبو باکس من می خوام کرسر رو تکس باکس بره. اماخطا میده
3- بعد از اجرای ماژول کلیدهای جهت دار نیز عملکرد صحیحی ندارند. تست فرمایید متوجه می شوید.

Abbas Amiri
چهارشنبه 03 خرداد 1391, 18:07 عصر
فایل تان اصلاح شد

najafi87
پنج شنبه 04 خرداد 1391, 13:09 عصر
سلام جناب آقای امیری عزیز...
مشکل کلیک کردنش حل شد اما دیگه کمبو به صورت ریلی باز نمیشه و ماژول عمل نمیکنه. یعنی شده مسل یه کمبوی معمولی که فقط با زدن هر حرفی کلمه ای رو میاره که صرفا اولش با اون حرف شروع شده باشه
ممنون می شم اگه تصحیح فرمایید
پیشاپیش تشکر

Abbas Amiri
پنج شنبه 04 خرداد 1391, 17:25 عصر
کد زیر را جایگزین کنید


Private Sub Combo0_Change()
If ignoreKey Then
Combo0.RowSource = SmartSourceCombo(Combo0, 1)
Combo0.Dropdown '********* Add this line ***********
End If
If Combo0.ListCount = 1 Then
Combo0 = Combo0.ItemData(0)
End If
End Sub


ضمنا درصورتی که میخواهید درمراجعه بعدی به کمبو فیلتری وجودنداشته باشد در روال LostFocus کمبو مقدار RowSourse آنرا بدون فیلتر مقدار دهی کنید.اینکار مخصوصا در فرمهای Continues لازم است


Combo0.RowSource="SELECT moshakhasat.row, moshakhasat.lname FROM moshakhasat ORDER BY moshakhasat.lname"

najafi87
جمعه 05 خرداد 1391, 22:03 عصر
جناب آقای امیری عزیز با تشکر از پیگیریتون
این کد یه مشکلی داره و اون اینه که اگه از ابتدای کار با موس انتخاب کنیم مشکلی نیست اما وقتی مثلا حرف "ی" را میزنیم کلماتی که این حرف را دارند به صورت ریلی باز میشن اما نکته اینجاست که اگه با کلیدهای جهت دار نامی را از کمبو انتخاب کنیم مشکلی پیش نمی اید اما اگه با موس انتخاب کنیم خطا میده. ممنون می شم دوباره بازبینی فرمایید...
با تشکر

Abbas Amiri
جمعه 05 خرداد 1391, 22:18 عصر
ایونت زیر را اضافه کنید


Private Sub Combo0_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ignoreKey = False
End Sub

najafi87
جمعه 05 خرداد 1391, 23:47 عصر
جناب آقای امیری ممنون از بزرگواریتون...
دعایم گرچه گیرا نیست،دعایت می کنم اما
نمیدانم چه می خواهی،از او خواهم برای تو
هرانچه در دلت خواهی

در مجلس مظلومیّت مردِ غریب
بنگر که دلم میان غمخانه گم است
این ناله ز ماتمِ امامِ هادی ست
معصوم دوازدهم امامِ دهم است.... عرض تسلیت...

najafi87
پنج شنبه 16 مهر 1394, 08:03 صبح
جناب آقای امیری
با سلام
من به فرم برنامه ای که ارسال نمودین یه فرم و یه کمبو باکس دیگه اضافه کردم با همان مشخصات کمبوباکس خودتون اما عمل نمیکنه.
خواهش میکنم فایل ضمیمه رو ببینید و حتما مشکل رو بگین کجاست چون میخوام تو فرمای دیگمم استفاده کننم
ممنون و سپاسگذارم جناب آقای امیری.

Abbas Amiri
پنج شنبه 16 مهر 1394, 14:39 عصر
جناب آقای امیری
با سلام
من به فرم برنامه ای که ارسال نمودین یه فرم و یه کمبو باکس دیگه اضافه کردم با همان مشخصات کمبوباکس خودتون اما عمل نمیکنه.
خواهش میکنم فایل ضمیمه رو ببینید و حتما مشکل رو بگین کجاست چون میخوام تو فرمای دیگمم استفاده کننم
ممنون و سپاسگذارم جناب آقای امیری.

سلام
خط بیست ودوم از تابع SmartSourceCombo در فایل خودتان را با کد زیر جایگزین کنید:
str2 = " WHERE " & CompleteFieldName(strRowSource, fldColumnIdx) & " LIKE '*" & sFilter & "*' "

najafi87
پنج شنبه 16 مهر 1394, 16:17 عصر
سلام
خط بیست ودوم از تابع SmartSourceCombo در فایل خودتان را با کد زیر جایگزین کنید:
str2 = " WHERE " & CompleteFieldName(strRowSource, fldColumnIdx) & " LIKE '*" & sFilter & "*' "


جناب اقای امیری با سلام
کد زیر رو جایگذین کردم اما بازم عمل نکرد.
در واقع این کد فقط تو همون فرمی که خودتون طراحی کردین عمل میکنه و تو فرمای دیگه کار نمیکنه
تو فرم find تست فرمایید.وقتی حرفی رو وارد میکنم کمبو باز نمیشه و جستجو نمیکنه
اگه ممکنه نمونه رو تصحیح کنید و بزارید برا دانلود ممنون میشم
با تشکر و ارزوی خیر و نیکی

Abbas Amiri
پنج شنبه 16 مهر 1394, 20:08 عصر
جناب اقای امیری با سلام
کد زیر رو جایگذین کردم اما بازم عمل نکرد.
در واقع این کد فقط تو همون فرمی که خودتون طراحی کردین عمل میکنه و تو فرمای دیگه کار نمیکنه
تو فرم find تست فرمایید.وقتی حرفی رو وارد میکنم کمبو باز نمیشه و جستجو نمیکنه
اگه ممکنه نمونه رو تصحیح کنید و بزارید برا دانلود ممنون میشم
با تشکر و ارزوی خیر و نیکی
سلام

همانطور که درفرم اصلی آمده متغیر ignoreKey را در فرم خودتان تعریف کنید

najafi87
پنج شنبه 16 مهر 1394, 22:47 عصر
سلام خدمت شما استاد عزیز ممنونم از لطفتون یه سوالداشتم
برنامه شما طوری طراحی شده که ستون دوم کوئری رو به ماژول پاس میده ایا راهی هست که ستون دلخواهو پاس داد؟
ضمن اینکه خواهش میکنم فایل ضمیمه رو هم یه نگاه بندازید سوال دوممو توی فرم همون فایل نوشتم.
ممنون و سپاسگزارم

Abbas Amiri
پنج شنبه 16 مهر 1394, 23:34 عصر
سلام خدمت شما استاد عزیز ممنونم از لطفتون یه سوالداشتم
برنامه شما طوری طراحی شده که ستون دوم کوئری رو به ماژول پاس میده ایا راهی هست که ستون دلخواهو پاس داد؟
ضمن اینکه خواهش میکنم فایل ضمیمه رو هم یه نگاه بندازید سوال دوممو توی فرم همون فایل نوشتم.
ممنون و سپاسگزارم

سلام
در تابع SmartSourceCombo آرگومان دوم همان متغیر مورد نظر شماست که برای اولین فیلد از صفر شروع می شود.

najafi87
جمعه 17 مهر 1394, 08:08 صبح
سلام
در تابع SmartSourceCombo آرگومان دوم همان متغیر مورد نظر شماست که برای اولین فیلد از صفر شروع می شود.

بسیار بسیار ممنونم جناب اقای امیری
ان شاالله در سایه امام زمان موفق باشید و در دوران ایشان امیری کنید.

najafi87
شنبه 18 مهر 1394, 07:04 صبح
با سلام مجدد خدمت شما جناب آقای امیری
نمونه مذکور با راهنمایی شما تصحیح گردید. من میخوام کمبوها رو بر اساس همدیگه فیلتر کنم و راه ساده ای که بلدم استفاده از شروطی مثل
[Forms]![ّFIND]![Combo2]
در قسمت Criteria است. اما موقع استفاده از این فرامین همراه با ماژول شما با خطا مواجه میشم.
لازمه بگم انتخاب با موس مشکلی نداره اما موقع پاس دادن ارگومانها توسط رویداد Change خطای پاس دادن ارگومان میده
ممنون میشم راهنمایی کنید و راه حلی ارائه کنید و اگه شد نمونه ضمیمه رو تصحیح فرمایید.
با تشکر

Abbas Amiri
شنبه 18 مهر 1394, 21:55 عصر
با سلام مجدد خدمت شما جناب آقای امیری
نمونه مذکور با راهنمایی شما تصحیح گردید. من میخوام کمبوها رو بر اساس همدیگه فیلتر کنم و راه ساده ای که بلدم استفاده از شروطی مثل
[Forms]![ّFIND]![Combo2]
در قسمت Criteria است. اما موقع استفاده از این فرامین همراه با ماژول شما با خطا مواجه میشم.
لازمه بگم انتخاب با موس مشکلی نداره اما موقع پاس دادن ارگومانها توسط رویداد Change خطای پاس دادن ارگومان میده
ممنون میشم راهنمایی کنید و راه حلی ارائه کنید و اگه شد نمونه ضمیمه رو تصحیح فرمایید.
با تشکر

سلام
در روال AfterUpdate کمبو 2 بنویسید:
Private Sub Combo2_AfterUpdate()
Combo4.RowSource = "SELECT PARTS.part_number, PARTS.p_name, PARTS.details " & _
"FROM PARTS WHERE p_name Like '*" & Nz(Combo2.Column(1)) & "*'"
End Sub

najafi87
سه شنبه 21 مهر 1394, 22:24 عصر
سلام
در روال AfterUpdate کمبو 2 بنویسید:
Private Sub Combo2_AfterUpdate()
Combo4.RowSource = "SELECT PARTS.part_number, PARTS.p_name, PARTS.details " & _
"FROM PARTS WHERE p_name Like '*" & Nz(Combo2.Column(1)) & "*'"
End Sub



جناب آقای امیری عزیز ممنونم از بزرگواریتون و پیگیریتون بابت حل مشکلات
مشکل بالا به نحوی مرتفع شد. اگه ممکنه فایل ضمیمه رو ببینید و در صورت امکان حقیر رو راهنمایی بفرمایید.
مشکلمو تو فرم نوشتم خیلی هم روش کار کردم اما نمیدونم گیرش کجاست.ممنونم اگه پیوستو ملاحظه فرمایید
اگه تعغیراتی هم رو که میدین مرقوم فرمایید لطف بزرگی خواهین کرد.
با تشکر