PDA

View Full Version : سوال: عدم ثبت اطلاعات در محدوده مورد نظر



mitra285
دوشنبه 16 خرداد 1390, 15:00 عصر
با سلام خدمت دوستان عزیز
من دو تا فیلد دارم برای ثبت شروع و پایان مرخصی ساعتی.
مثلا برای کد پرسنلی 4000 ساعت در تاریخ 16/03/1390 شروع مرخصی 11:00 ساعت پایان 13:20 .
حالا چطور می تونم شرط بزارم که هیچ طوری تو محدوده این دو تا فیلد ساعت شروع و پایان برای کد پرسنلی 4000 تو همون روز مرخصی ثبت نشه.

یعنی مثلا کسی خواست به اشتباه تو همون روز برای این کد پرسنلی از ساعت 10 تا 12 مرخصی ثبت کنه سیستم جلوش رو بگیره.

عزیزان لطف راهنمایی کنن.

mitra285
دوشنبه 16 خرداد 1390, 20:34 عصر
دوستان عزیز کسی اگر می تونه راهنمایی کنه باور کنید بد جوری تو این موضوع گیر کردم.

saeid.memfis
دوشنبه 16 خرداد 1390, 22:59 عصر
با سلام خدمت دوستان عزیز
من دو تا فیلد دارم برای ثبت شروع و پایان مرخصی ساعتی.
مثلا برای کد پرسنلی 4000 ساعت در تاریخ 16/03/1390 شروع مرخصی 11:00 ساعت پایان 13:20 .
حالا چطور می تونم شرط بزارم که هیچ طوری تو محدوده این دو تا فیلد ساعت شروع و پایان برای کد پرسنلی 4000 تو همون روز مرخصی ثبت نشه.

یعنی مثلا کسی خواست به اشتباه تو همون روز برای این کد پرسنلی از ساعت 10 تا 12 مرخصی ثبت کنه سیستم جلوش رو بگیره.

عزیزان لطف راهنمایی کنن.

سلام دوست من
این کاملا واضح است..اگر یکی از اون ساعتهای 10 یا 12 بین ساعتهای 11 یا 13:30 باشه اجازه نده
کدش هم که کار سختی نیست

mitra285
دوشنبه 16 خرداد 1390, 23:16 عصر
دوست عزیز این کد من هست

شما راهنمایی کن.


s2 = "select * from Prs_Morkhasi where az_Tarikh ='" & sd & "' and Personel_ID='" & TextBox1.Text & "' and KhedmatStatus_ID='04' and asSaat >='" & tm1 & "' and taSaat <='" & tm2 & "'"


sd تاریخ مرخصی هستپ
TextBox1.Text کد پرسنلی رو ازاین تکست باکس می گیره
( KhedmatStatus_ID='04' ) نوع مرخصی هست که 04 بیانگر مرخصی ساعتی هست
tm1 ساعت شروه مرخصی ساعتی هست
tm2 ساعت پایان مرخصی

بازم اگر توضیحی لازم می دونید که لازم هست بنویسم .
ممنون می شم راهنماییم کنید.

saeid.memfis
دوشنبه 16 خرداد 1390, 23:30 عصر
s2 = "select * from Prs_Morkhasi where az_Tarikh ='" & sd & "' and Personel_ID='" & TextBox1.Text & "' and KhedmatStatus_ID='04' and asSaat >='" & tm1 & "' and taSaat <='" & tm1 or asSaat >='" & tm2 & "' and taSaat <='" & tm2 & "'"
این شاید جواب بده دوست من
ولی مطمئن نیستم
تست کن ببین چی میشه

mitra285
سه شنبه 17 خرداد 1390, 00:32 صبح
دوست عزیز خیلی خوب بود فقط یک ایراد داره اگر من مرخصی 10 تا 12 رو ثبت کنم. بعد بیام مرخصی 9:55 تا 12:01 رو ثبت کنم قبول می کنه.
در ضمن برای همه این موضوع رو گیر می ده یعنی برای تمام پرسنل.
این دو تا رو هم جلوش رو بگیره دیگه عالی می شه.
بازم ممنون از وقتی که می زاری.

mitra285
سه شنبه 17 خرداد 1390, 19:04 عصر
دوستان کسی نمی تونه راهنمایی کنه.

saeid.memfis
سه شنبه 17 خرداد 1390, 19:39 عصر
دوست عزیز خیلی خوب بود فقط یک ایراد داره اگر من مرخصی 10 تا 12 رو ثبت کنم. بعد بیام مرخصی 9:55 تا 12:01 رو ثبت کنم قبول می کنه.
در ضمن برای همه این موضوع رو گیر می ده یعنی برای تمام پرسنل.
این دو تا رو هم جلوش رو بگیره دیگه عالی می شه.
بازم ممنون از وقتی که می زاری.

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

mitra285
سه شنبه 17 خرداد 1390, 20:48 عصر
نمی دونم . دیگه هر شرطی که می شد رو امتحان کردم . خسته ام کرد این موضوع یک هفته هست در گیر شدم باهاش

shervinrv
سه شنبه 17 خرداد 1390, 21:57 عصر
دوست عزیز خیلی سادس
به نظر من از یه Or استفاده کن
مثلا اگه مقدار azsaat و tasaat رو بگیری و کنترل کنی اینجوری میشه
if tm1>tasaat then
Ok
else
if tm2<azsaat then
Ok
end if
end if
در این صورت به هیچ وجه تداخل نمیکنه
فقط حتما شما هم در نظر گرفتی که یه وقت tm2 کوچکتر از tm1 نباشه

ساده ترش اینه
یا باید زمان شروع مرخصی جدید بزرگتر از زمان پایان مرخصی قبلی باشه
یا زمان اتمام مرخصی جدید کوچکتر از شروع قبلی باشه
حالا شما میتونی اینو تو قالب sql هم بنویسی