View Full Version : سوال: چند مشکل کوچک در انجام پروژه ای کوچک
Hermidas
یک شنبه 27 دی 1394, 10:20 صبح
با سلام لطفا راهنمایی کنید
1 - می خوام در رویداد open یک فرم که دارای سه کنترل option هست کد زیر را بنویسم اما جواب نمی گیرم
If Option121.OnLostFocus = True Then
شرط مورد نظر
end if
2 - در جای دیگر فرم مورد نظر یک ساب فرم دارم می خواهم وقتی روی ستون نام فیلد کلیک می کنم آن ستون بر اساس صعودی یا نزولی مرتب شود مانند ستون نام فایلها در پنجره های ویندوزی آیا این امکان وجود دارد .
3 - در همین قسمت ساب فرم یک کمبو باکس جهت فیلتر کردن اطلاعات یک فیلد قرار دادم اما می خواهم با انتخاب گزینه های کمبو باکس بعضی از فیلدهای (ستون های) ساب فرم من بعد از زدن کلید فیلتر مخفی شوند. این کد را در رویداد کلیک باتوم اعمال فیلتر چگونه بنویسم.
اگر نیاز بود بگید عکس برنامه رو براتون بزارم تشکر از راهنمایی همه ی سروران:متفکر:
saeed1234n
دوشنبه 28 دی 1394, 22:37 عصر
سلام نمونه ؟
e601
چهارشنبه 30 دی 1394, 11:57 صبح
If Option121.OnLostFocus = True Then
هدف شما از این شرط چیه؟ چون این نوع شرط گذاری اون هم در رویدار open فرم اشتباهه
2 - در جای دیگر فرم مورد نظر یک ساب فرم دارم می خواهم وقتی روی ستون نام فیلد کلیک می کنم آن ستون بر اساس صعودی یا نزولی مرتب شود مانند ستون نام فایلها در پنجره های ویندوزی آیا این امکان وجود دارد .
اون مدلی که شما میخواید فکر نکنم در اکسس ساپورت بشه ولی در این نسخه های فکر کنم 2007 به بعد در هر نوع دیتاشیتی کنار نام فیلدها یک فلش سمت پایین وجود داره که میتونی روی اون کلیک کنی و sort a - z یا برعکس رو انتخاب کنی.
3 - در همین قسمت ساب فرم یک کمبو باکس جهت فیلتر کردن اطلاعات یک فیلد قرار دادم اما می خواهم با انتخاب گزینه های کمبو باکس بعضی از فیلدهای (ستون های) ساب فرم من بعد از زدن کلید فیلتر مخفی شوند. این کد را در رویداد کلیک باتوم اعمال فیلتر چگونه بنویسم.
این سوال شما رو بدون نمونه فکر نکنم هیچ کسی بتونه جواب بده
Hermidas
شنبه 03 بهمن 1394, 10:12 صبح
سلام
پروژه رو به طور کامل براتون پیوست می کنم
1- هدفم از گذاشتن این شرط اینه که اگر کاربر توی تب ثبت اطلاعات یکی از گزینه های عملکرد رو انتخاب کرد ولی اطلاعاتی وارد نکرد یا از ذخیره کردن اطلاعات منصرف شد و به تب گزارش گیری رفت و دوباره برگشت مجبور به انتخاب دوباره عملکرد جهت ورود اطلاعات باشد و تا عملکرد را انتخاب نکرده گزینه های ثبت اطلاعات غیر فعال باشند.
2- من ساب فرم رو فقط جهت دیدن گزارش گذاشتم بنابراین خصوصیت enabeld اون رو no کردم تا کاربر فقط بتواند مشاهده کند ولی امکان جستجو و سورت کردن رو می خوام داشته باشه ایا می توان با گذاشتن باتوم در هدر این فرم مثل باکس های فیلتر کد سورت رو براشون نوشت اگه امکان داره کد آن چیست؟
3-منظورم از سوال سوم اینه که اگر گزینه تغییرات کلی رو از کمبو باکس بالای ساب فرم انتخاب کنیم آیا امکان دارد که ستون کد محصول رو در ساب فرم مخفی کنیم با باکس سرچ که در بالای اون قرار داره.
راستی اگر توی ساختن کاربر برای برنامه لینکی وجود دارد معرفی کنید تا راه درست و اصولی ساختن کاربر رو برای برنامه مطالعه کنم چون برای اون هم مشکلات زیادی دارم
بازم ممنون از وقتی که میزارید.
e601
یک شنبه 04 بهمن 1394, 00:50 صبح
1- هدفم از گذاشتن این شرط اینه که اگر کاربر توی تب ثبت اطلاعات یکی از گزینه های عملکرد رو انتخاب کرد ولی اطلاعاتی وارد نکرد یا از ذخیره کردن اطلاعات منصرف شد و به تب گزارش گیری رفت و دوباره برگشت مجبور به انتخاب دوباره عملکرد جهت ورود اطلاعات باشد و تا عملکرد را انتخاب نکرده گزینه های ثبت اطلاعات غیر فعال باشند.
برای این منظور میتونید از رویداد OnChange تب استفاده کنید. در نمونه ای که شما قرار دادید نام تب شما TabCtl127 هست و Frame1 هم نام گروه انتخاب عملکرد هست. پس کد بصورت زیر میشه :
Private Sub TabCtl127_Change()
If Not IsNull(Me.Frame1.Value) Then
'عملیات مورد نظر شما برای مدیریت رفتار کاربر
End If
End Sub
کد بالا در واقع درست شدۀ شرطی هست که در پست اول نوشته بودید و میگه: اگه کاربر یک عملکرد رو انتخاب کرده بود اونوقت....
2- من ساب فرم رو فقط جهت دیدن گزارش گذاشتم بنابراین خصوصیت enabeld اون رو no کردم تا کاربر فقط بتواند مشاهده کند ولی امکان جستجو و سورت کردن رو می خوام داشته باشه ایا می توان با گذاشتن باتوم در هدر این فرم مثل باکس های فیلتر کد سورت رو براشون نوشت اگه امکان داره کد آن چیست؟
بله دوست عزیز امکان داره. شما میتونی بالای ساب فرم (یعنی همونجایی که باکس هایی برای فیلتر کردن گذاشتی) یه دکمه کوچیک یا بزرگ یا هر جور دیگه ای که خودت دوست داری بذاری. مثل همون باکس های فیلتر، به ازای هر فیلد یک دکمه سورت بالای فیلد. برای رویداد کلیک هر کدوم از اون دکمه ها کدی مثل زیر بنویسید. مثلا کد زیر فیلد تاریخ رو سورت میکنه. خوبیش اینه که برای سورت بالا به پایین و یا پایین به بالا فقط یک دکمه میذاری. یعنی یکبار که کلیک کنی sort a-z و دوباره که کلیک کنی sort z-a. این کار با استفاده از متغیر استاتیک انجام میشه. کد زیر سورت فیلد تاریخ رو انجام میده که باید داخل رویداد کلیک دکمۀ سورت تاریخ بذارید :
Private Sub btnSortDate_Click()
Static sortASC As Boolean
Dim st As String
If sortASC = True Then
st = "ASC"
Else
st = "DESC"
End If
Me.subChangeMap.Form.OrderBy = "[datech]" & " " & st
Me.subChangeMap.Form.OrderByOn = True
sortASC = Not sortASC
End Sub
3-منظورم از سوال سوم اینه که اگر گزینه تغییرات کلی رو از کمبو باکس بالای ساب فرم انتخاب کنیم آیا امکان دارد که ستون کد محصول رو در ساب فرم مخفی کنیم با باکس سرچ که در بالای اون قرار داره.
بله این هم امکان پذیره. شما باید با رویداد OnChange کمبوباکس کار کنید. مثلا در نمونه شما str_typech_flt نام کمبوباکس شماست که کد OnChange بصورت زیر میشه :
Private Sub str_typech_flt_Change()
If Me.str_typech_flt.ListIndex = 0 Then
Me.subChangeMap.Form.Controls!procode.ColumnHidden = True
Me.str_procode_flt.Visible = False
Else
Me.subChangeMap.Form.Controls!procode.ColumnHidden = False
Me.str_procode_flt.Visible = True
End If
End Sub
Hermidas
شنبه 17 بهمن 1394, 00:01 صبح
واقعا از اینکه وقت گذاشتید و پاسخ دادید ممنونم خیلی مفید واقع شد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.