ورود

View Full Version : سوال: نمایش آلارم از سه روز قبل برای یک روز خاص از هفته ، بدون داشتن تاریخ مشخص



wolfstander
شنبه 08 مرداد 1390, 09:48 صبح
سلام به همه دوستان
دوستان، یه مشکلی هست که دهن منو سرویس کرده
یه کاری رو میخوام انجام بدم،در مورد یک مساله ای
البته فایل اکسسه
ولی من دنبال راه حلم
کد نویسی رو میکنم
من یه فایلی دارم که توش مسائل رو مطرح میکنم
برای کارهایی که باید انجام بشه در طی هفته
من کارهایی که باید انجام بشه رو میخوام از سه روز قبلش آلارم بده
به این صورت
شنبه: از چهارشنبه
یک شنبه: از 5 شنبه
دوشنبه: از جمعه
سه شنبه: از شنبه
چهارشنبه: از یک شنبه
پنج شنبه: از دوشنبه
جمعه: از سه شنبه
یعنی هر روز رو از سه روز قبل آلارم بده
بعدش توی یه جدول، اینها رو به صورت شماره ذخیره کردم
tbl_Days_Of_Week
کدروز روز روز کنترل
0.00 شنبه 4.00
1.00 یک شنبه 0.00
2.00 دوشنبه 6.00
3.00 سه شنبه 0.00
4.00 چهار شنبه 1.00
5.00 پنج شنبه 2.00
6.00 جمعه 3.00
7.00 بدون تعیین 0.00حالا میخوام شرطی رو بنویسم که اگه مثلا امروز دوشنبه است، به تاریخ روز نگاه کنه و ببینه که آیادر دوره مربوط به دوشنبه که میشه از جمعه -روزششم- تا دوشنبه --روز دوم - هست یا نه
اگه هست ،نمایش بده در غیر این صورت نمایش نده
نیاز به الگوریتمش دارم
که این مساله رو چطوری درست کنم
برای سه شنبه تا جمعه، راحت انجام شده
گفتم اگه شماره روز جاری، بین روز کنترل، تا روز فعالیت بود، فیلد رو تیک بزن
ولی برای دوشنبه که روز کنترلش میشه 6، ایراد پیدا میکنه
از شنبه تا دوشنبه رو نمیتونم کنترل کنم تا نمایش بده

اگه کسی بتونه راهنمایی کنه در مورد شرطی که باید بذارم، ممنون میشم
با تشکر از همه دوستان

mazoolagh
شنبه 08 مرداد 1390, 11:16 صبح
نمیتونین تاریخ ها رو مطلق بدین (مثلا شنبه 1390/05/08) و بعد خیلی ساده با محاسبه روی تاریخ به نتیجه برسین؟

wolfstander
شنبه 08 مرداد 1390, 11:36 صبح
سلام
نه متاسفانه
این مساله برای کارهاییه که هر هفته باید انجام بشه
مثل مغایرت بانکی
که باید شنبه ها انجام بشه
صدور چک کسایی که به ما جنس فروختن
که 5 شنبه هاست
و مواردی مثل این
و میخوام یه جوری باشه که اگه کاری برای 5 شنبه است، به فرد از روز دوشنبه آلارم بده که تو باید 5 شنبه این مقدار چک رو صادر کنی

RESMAILY
شنبه 08 مرداد 1390, 14:10 عصر
به نام خدا
با سلام. نبايد براي شما دشوار باشد. مگر آنكه من نفهميده باشم منظور چيست.
كارهاي شنبه را سه شنبه قبل ياد آور شود
يكشنبه را چهار شنبه قبل ياد آور شود
دو شنبه را پنجشنبه قبل ياد آور شود
سه شنبه را هم جمعه قبل ودر صورت لزوم استثنائا هم شنبه قبل ياد آور شود
چهار شنبه را شنبه قبل ياد آور شود
پنجشنبه هم برود از دوشنبه قبل ياد آور شود!
مشكل چيست؟
در اعداد اختصاص داده شده به ايام هفته؟ اگر اين باشد شايدبايد يك روال كوتاه بصورت private بنويسيد و اعداد را به ترتيب از شنبه =1 تا جمعه =7 بدست بياوريد؟!
با پوزش از بهرنگ عزيز كه خود آموزگاري است براي من در آكسس.

wolfstander
شنبه 08 مرداد 1390, 15:22 عصر
سلام
دادا زیاد دست بالا نگیر مارو
به دست آوردن شماره روز که مشکلی نیست با توابع آقای میدانی
=j_weekday(j_today())

عرضم به حضورت که مشکل من اینه که من میخوام مثلا اگه کاری برای 5 شنبه است ، از روز دوشنبه آلارم بده به من
یعنی 5-3=2
فایلش رو ضمیمه کردم
من در یک جدول، روزی که برای هر روز باید کنترل بشه و روزهای هفته رو آوردم
بعدش میخوام بگم که اگه روز یک شنبه ، روز کنترله، و امروز روز شنبه است، تو سیستم نمایش داده بشه

همه ماژولهای فارسی هم توی فایل هست
اگه لطف کنی برام، ممنون میش
یا اگه راه حلشو هم بگی، برام خیلی ارزشمنده
بقیه اش رو میرم تو کارش

Younestalebi
یک شنبه 09 مرداد 1390, 04:17 صبح
سلام
کد روز رو با عدد 4 جمع کن
بعد Mod عدد حاصل ، بر 7 رو حساب کن مشکلت حل میشه

wolfstander
یک شنبه 09 مرداد 1390, 07:23 صبح
سلام
کد روز رو با عدد 4 جمع کن
بعد Mod عدد حاصل ، بر 7 رو حساب کن مشکلت حل میشه

سلام
مساله اینجاست که برای سه شنبه تا جمعه، جواب درست میده
ولی برای شنبه تا دوشنبه جواب نمیده
چون برای دوشنبه، عدد 6 به دست میاد
این رو چه باید کرد؟

RESMAILY
یک شنبه 09 مرداد 1390, 17:28 عصر
به نام خدا
با سلام. نمي شود از like استفاده كرد؟
من مورد مشابهي داشتم. نمي دانم اين راه حل به درد مي خورد يانه. يك فيلد text به جدول اضافه نماييد. بعد براي هرروز اعداد مناسب را در آن ثبت كنيد. مثلا براي دوشنبه (فرضا) عدد 561 يا 165را در آن ثبت كنيد. يعني براي(حسب شماره گذاري معمولي اعداد هفته)
دوشنبه بايد يكشنبه يا جمعه يا پنجشنبه آلارم بدهد. طبعا براي هرروز الارم دهنده،با يك عمگر like روز مربوطه بدست خواهد آمد مثلا امروز يكي از سه روز فوق باشد طبعا براي دوشنبه آلارم خواهد داد. من براي يك برنامه يك تركيب 67 تايي داشتم. ببين شايد به درد خورد.

mazoolagh
سه شنبه 11 مرداد 1390, 13:13 عصر
آقا راستش یا پرسش خیلی ساده است یا من درست نفهمیدم؟!


PUBLIC ALARM_WEEKDAY AS INTEGER
ALARM_WEEKDAY=ARRAY(4,5,5,0,1,2,3,0)


حالا هر موقع خواستین میتونین با ALARM_WEEKDAY(DAY_CODE) روز آلارم رو برگردونین

wolfstander
سه شنبه 11 مرداد 1390, 13:42 عصر
سلام
البته اگه ساده باشه، برای شما ساده است
عرضم به حضور شما که اگه روز یک شنبه باشه، آلارم شما رو چطوری باید استفاده کرد؟

Younestalebi
سه شنبه 11 مرداد 1390, 17:40 عصر
سلام
ببین این طور کارت راه میفته به کوئری نگاه کن

mazoolagh
چهارشنبه 12 مرداد 1390, 10:04 صبح
سلام
البته اگه ساده باشه، برای شما ساده است
عرضم به حضور شما که اگه روز یک شنبه باشه، آلارم شما رو چطوری باید استفاده کرد؟

خوب پس من سئوال رو نفهمیدم

با توجه به دیتا که خودتون مشخص کردین کد یکشنبه 1 هست پس:ALARM_WEEKDAY(1) عنصر یکم آرایه رو برمیگردونه که 5 هست و 5 هم کد پنجشنبه است.

wolfstander
چهارشنبه 12 مرداد 1390, 12:21 عصر
سلام
با تشکر از شما دوستان عزیز
مساله اینه که روز 5 شنبه رو برای یک شنبه نشون میده، ولی گه امروز شنبه باشه، من میخوام که کار رو نشون بده
یعنی از 5 شنبه تا یک شنبه ، هر روز که برنامه اومد بالا، بهش نمایش بده
حالا مشکل اینحاست که از 3 شنبه تا جمعه رو درست نشون میشده
ولی شنبه و یک شنبه و دوشنبه رو درست کار نمیکنه

mazoolagh
یک شنبه 16 مرداد 1390, 13:16 عصر
آقا چی شد بالاخره؟ درست شد؟