PDA

View Full Version : سوال: کار با conditional formating



majidosmani
پنج شنبه 12 آذر 1394, 14:14 عصر
با سلام خدمت اساتید محترم میگم من یک فرم از نوع Continuous Forms دارم و داخل ان دو تا فیلد از نوع تاریخ دارم یکی تاریخ انقضا (حتمی پر شده است) و یک تاریخ تمدید(ممکن است پر یا خالی باشد ولی مقدار ان از تاریخ انقضا بیشتر است) حالا دوتا سوال دارم 1- من می خواهم با استفاده از روش conditional formating یک کاری بکنم که وقتی فیلد تاریخ تمدید پر شده باشد براساس فیلد تاریخ تمدید و اگر فیلد تاریخ تمدید پر نشده باشد براساس فیلد تاریخ انقضا نگاه کنه اگر از تاریخ الان گذشته باشد رنگ فیلد های ان سطر قرمز بشه نمدونم چطوری شرطم را بنویسم لطفا من را کمک نمائید 2- من داخل فرمم دو تکس گذاشتم که می خواهم فرمم را براساس یکی از فیلدهای تاریخ فیلتر کنم (ازتاریخ.....تاتاریخ....)که کاربر تاریخ شروع و پایان را میده حالا من یک نمونه داخل تالار دیدم که برای فیلتر کردم فرم ابتدا جدول را با یک کوئری فیلتر کرد بعد داخل فرم روی دکمه فیلتر کردن کد زیر را نوشت
DoCmd.ApplyFilter "query name" حالا من میخواهم جدول را با استفاده از دو مقدار تاریخ داده شده داخل فرم فیلتر کنم ولی فکر کنم چون فرمت تاریخ های من از نوع تکس است کوئری جواب نمیده من از ماژول تاریخ شمسی اسفاده می کنم حالا نمی دونم چطوری کوئری بنویسم و داخل ان دستور between and را بنویسم چون فرمت فیلد تاریخی من فرق میکنه و از نوع date نیست لطفا من را کمک نمائید با تشکر ببخشید اگر یخورده طولانی شد

alirezabahrami
پنج شنبه 12 آذر 1394, 18:15 عصر
سلام مجید !

کو نمونه ؟

majidosmani
پنج شنبه 12 آذر 1394, 19:19 عصر
سلام با تشکر
من دوتا نمونه می فرستم مشکلم در نمونه اول
1- من می خواهم در فرم f3 وقتی کاربر مقادیر تاریخ را وارد میکنه و دکمه جستجو را میزنه بین دو تاریخ فرم فیلتر بشه من یک از یک نمونه ای که فکر کنم خود شما گذاشته بودید کمک گرفتم و فرمم را براساس محل بازدید تونستم فیلتر کنم ولی براساس تاریخ نتونستم
2- مشکل دیگی هم دارم ولی شاید جاش اینجا نباش اما چون یخورده عجله دارم میگم انشالله کمک کنید من اطلاعات فرم F1 و f2 را به ترتیب می خواهم در جدول table1 و 2 وارد کنم در فرم f1 با روش رکورد ست این کار را کردم ولی نمی دونم چرا جواب نمیده دیگه نا امید شدم توی f2 که ننوشتم
3- یک مشکل دیگه فضای خالی توی فرم f3 ,f5 که من هرچی مقدار عرض فرم را کم میکنم ولی تغییر نمیکنه
در نمونه دوم
1- در فرم ما دو تا تاریخ داریم یکی تاریخ پایان کار و دیگری تاریخ تمدید الان من براساس فعال یا غیر فعال بود وضعیت رنگ سطرها را تغییر دادم ولی رئیس ما میگه براساس تاریخ تغییر رنگ را انجام بده به صورتی که پرمیت های که از تاریخ پایان کار انها گذشته است را قرمز کند البته اگر تمدید کرده باشند باید با توجه به فیلد تاریخ تمدید نگاه بکند

برای نمونه اول یخورده بیشتر عجله دارم

ببخشید وقت شما را می گیرم

alirezabahrami
پنج شنبه 12 آذر 1394, 20:33 عصر
سلام با تشکر
من دوتا نمونه می فرستم مشکلم در نمونه اول
1- من می خواهم در فرم f3 وقتی کاربر مقادیر تاریخ را وارد میکنه و دکمه جستجو را میزنه بین دو تاریخ فرم فیلتر بشه من یک از یک نمونه ای که فکر کنم خود شما گذاشته بودید کمک گرفتم و فرمم را براساس محل بازدید تونستم فیلتر کنم ولی براساس تاریخ نتونستم
2- مشکل دیگی هم دارم ولی شاید جاش اینجا نباش اما چون یخورده عجله دارم میگم انشالله کمک کنید من اطلاعات فرم F1 و f2 را به ترتیب می خواهم در جدول table1 و 2 وارد کنم در فرم f1 با روش رکورد ست این کار را کردم ولی نمی دونم چرا جواب نمیده دیگه نا امید شدم توی f2 که ننوشتم
3- یک مشکل دیگه فضای خالی توی فرم f3 ,f5 که من هرچی مقدار عرض فرم را کم میکنم ولی تغییر نمیکنه
در نمونه دوم
1- در فرم ما دو تا تاریخ داریم یکی تاریخ پایان کار و دیگری تاریخ تمدید الان من براساس فعال یا غیر فعال بود وضعیت رنگ سطرها را تغییر دادم ولی رئیس ما میگه براساس تاریخ تغییر رنگ را انجام بده به صورتی که پرمیت های که از تاریخ پایان کار انها گذشته است را قرمز کند البته اگر تمدید کرده باشند باید با توجه به فیلد تاریخ تمدید نگاه بکند

برای نمونه اول یخورده بیشتر عجله دارم

ببخشید وقت شما را می گیرم
سلام
مشکلات نمونه اول را با هم بررسی می کنیم چون برای آن عجله دارید .
اشکال 1 - فیلد تاریخ در جدول خالی است چگونه می خواهید آن را فیلتر کنید ؟
را ه حل :
1- در جدول تاریخ های این فیلد را تکمیل کن و سپس کد زیر را در رویداد کلیک کمند باتن جستجو وارد کن :


Me.Filter = ""
Me.FilterOn = True
Me.Filter = "date1 >= '" & Text16 & "' and date1<= '" & Text18 & "'"

شاید برای انجام فیلتر نیاز به دو بار کلیک کردن بر روی کمند باتن فوق باشد که پیشنهاد میشود از سابفرم در فرم اصلی استفاده شود که مشکلاتی اینچنینی را نخواهید داشت .
راه حل مشکل 2 :
سعی کن فیلد های جدول را در داخل پرانتز در بین کوتیشن قرار بدهید . مثل rs.Fields("bazdidkonande").Value = Cob2

راه حل مشکل از بین بردن فضای خالی فرم اینست که در حالت فعلی از طریق کلیدهای ترکیبی ctrl+a تمام کنترل های فرم را انتخاب و از طریق موس آنها را به سمت راست فرم بکشان و سپس نشانگر موس را بر روی لبه فرم از سمت راست نگه دار و فرم را به سمت چپ دراگ کن تا فضای خالی سمت چپ از بین برود . و در حالت دیگرخاصیت orientation فرم را از حالت Right-to-Left به حالت Left-to-Right تغییر بده و سپس نشانگر موس را بر روی لبه فرم از سمت راست نگه دار و به سمت چپ دراگ کن تا فضای خالی سمت راست فرم کم شود .
یا علی

majidosmani
پنج شنبه 12 آذر 1394, 21:23 عصر
سلام دست شما درد نکنه فقط یک سوال دیگه چون من فرمم را براساس محل هم فیلتر کرده بودم حالا وقتی براساس تاریخ فیلتر می کنیم فرم فیلتر میشه حالا وقتی می خواهم براساس محل بازدید هم فیلتر کنم فلیلتری که براساس تاریخ کردم از بین میرود نمیشه کاری کرد که از بین نرود

majidosmani
چهارشنبه 25 آذر 1394, 11:19 صبح
سلام خدمت اساتید محترم میگم من یک نمونه دارم داخلش یک فرم دارم که برای تغییر رنگ پس زمینه فیلدهای داخل فرمم از روش conditional formating استفاده کردم حالا نمی دونم چرا وقتی فرمم باز میکنم رنگ فیلدها عوض نمیشه البته وقتی روی هر فیلد کلیک میکنم رنگش با توجه به شرطی که گذاشتم تغییر می کند کسی علت را می داند؟؟؟

saeed28541
چهارشنبه 25 آذر 1394, 23:18 عصر
سلام.
برای مشکل نمونه دومتون با شرط میتونید مشکلتون را حل کنید.
(دستور تغییر رنگ دوم,دستور تغییر رنگ اول,0>=(iif(diff(data1,data2
این تابع diff دو تا ریخ یکی تاریخ شروع ودومی تاریخ روز سیستم را بررسی می کند واختلاف مساوی کمتر از 0بود دستورات را اجرا میکنه.

saeed28541
چهارشنبه 25 آذر 1394, 23:39 عصر
سلام دست شما درد نکنه فقط یک سوال دیگه چون من فرمم را براساس محل هم فیلتر کرده بودم حالا وقتی براساس تاریخ فیلتر می کنیم فرم فیلتر میشه حالا وقتی می خواهم براساس محل بازدید هم فیلتر کنم فلیلتری که براساس تاریخ کردم از بین میرود نمیشه کاری کرد که از بین نرود
سلام.
اصلاح شد.
برای جستجو از باتن جستجو استفاده کنید.
حتما محدوده ی تاریخ برای جستجو مشخص کنید.
اگر مخزن ها انتخاب نکیند کل محدوده ی تاریخ جستجو میشه واگر مخزن راانتخاب کنید محدوده ی تاریخ برای اون مخزن نمایش داده میشه.
موفق باشید

hosseinwww
چهارشنبه 20 مرداد 1395, 21:55 عصر
سلام رمزش چیه؟