ورود

View Full Version : سوال: چگونه فرم کارتکس ورود و خروج بسازیم ؟



narpco
جمعه 04 مهر 1399, 19:30 عصر
بزرگواران سلام روز بخیر

میخواهیم یک کارتکس ورود و خروج در اکسس بسازیم
بنده الان دو روزه هست که درگیر تست زدمن هستم و هر دو فعه با یک مشکلی بر می خورم ممنون میشم یاری بفرمایید
میخواهیم کارتکسی داشته باشیم
برای هر ماه –برای هر پرسنل-برای هر ماه به تعداد روزهای آن ماه 31-30-29
طبق عکس نمونه :
http://s15.picofile.com/file/8409262268/FFFFFFFFFFF.png

فیلد ها از این قرارند : البته به تعداد روزهای هر ماه که بتونیم کارکرد هر پرسنل در هر ماه رو در یک صفحه ببینیمو بتونیم سریع تغییر بدیم یا ویرایش کنیم



تاریخ

روز هفته

ورود

خروج

کارکرد

اضافه کار






حالا برای هر رکورد 6 فیلد داریم
6 ضرب در 31 روز ماه میشه : 186 فیلد اطلاعاتی برای 31 رکورد
خوب تا اینجا مشکلی نیست جدول رو هم درست کردیم
مشکل اصلی جایی شروع میشه که میخواهیم فرم رو بسازیم و با یکی از ضعف های بزرگ اکسس رو برو میشیم که برای طراحی فرم افقی یا حتی عمودی فیلد ها پیام خطا میده
حتی اگر دستی هم وارد کنید باز هم به مشکل بر میخوریم

سئوال بنده اینه که اگر بخواهیم فرمی شبیه شکل داخل فایل اکسل داشته باشیم چیکار باید انجام بدیم

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

نکته ساعت ورود و خروج کارکرد و اضافه کار باید از نوع DATE/TIME و فرمت SHORTDATE هستند که بشود آنها را از هم کم کرد

هرگونه سنارویوی دیگری که منجر به تولید فرم طبق نمونه بشود مجاز است ....سواد بنده همین قدر بود که خواهید دید:))



بسیار سپاس از شما

لینک دانلود فایل نمونه


http://s15.picofile.com/file/8409261676/inout.rar.html

padide55
شنبه 05 مهر 1399, 13:41 عصر
سلام
اول برید سراغ فرم و ساب فرم برید
اسامی در فرم
ساعتها در ساب فرم
دو جدول بسازید
یک پرسنل و سال و ماه
دومی تاریخ و ساعت ورود و خروج

narpco
شنبه 05 مهر 1399, 14:00 عصر
ممنون از شما

---مشکل اینه ...------>> هدف ما اینه که هر پرسنل برای هر ماه یک صفحه 31 روزه داشته باشه
به عبارتی در نهایت فرمی میخواهیم شبیه عکس

http://s15.picofile.com/file/8409262268/FFFFFFFFFFF.png (http://s15.picofile.com/file/8409262268/FFFFFFFFFFF.png)


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

padide55
دوشنبه 07 مهر 1399, 07:29 صبح
ورود و خروج به چند صورت ثبت میشه
میتونید یک جدول به اینصورت درست کنید


ردیف

تاریخ

کد پرسنلی

ورود/خروج



1

1399/12/01

123

07:00



2

1399/12/01

123

12:00



3

1399/12/02

123

07:02



4

1399/12/02

123

12:20




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

راه حل بعدی روشی هست که دوستان در این پست انجام دادن

https://barnamenevis.org/showthread.php?561250-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%88%D8%B1%D9%88%D8%AF-%D9%88-%D8%AE%D8%B1%D9%88%D8%AC-%DA%A9%D8%A7%D8%B1%DA%A9%D9%86%D8%A7%D9%86&p=2432863&viewfull=1#post2432863

به اینصورت که


ردیف

تاریخ

پرسنلی

ورود

خروج



1

1399/12/01

123

07:00

12:00



2

1399/12/02

123

07:10

11:45



در اینصورت محاسبه کارکرد روزانه اسان خواهد بود

فقط سیستم باید اولین تایمکس رو در روز شماره جدید بده و در صورت ثبت تایمکس مجدد ، از سیستم با کوئری و یا هر روشی همون ردیف ورودی رو بیاره و خروج ثبت کنه .

نهایتا شما با یک گزارش گیری میتوانید به جدولی که مد نظرتون هست برسید

padide55
دوشنبه 07 مهر 1399, 07:40 صبح
ضمنا اگر میخواید در یک فرم ورودها و خروجها رو در ماه ببینید و ثبت کنید اولا پیشنهاد میکنم این کاررو نکنید .
ولی اگر لازم بود
همون جدول دوم پست قبل رو لازم داریم ضمن اینکه تاریخها باید از قبل به سیستم داده بشه و جای زمان ورود و خروج خالی باشه .
برای این کار بهتره با اکسس تاریخ ها رو برای یک یا دو سال اینده ایجاد کنید و یه اکسس تبدیل کنید
بعد برای هر نفر پس از ثبت مشخصات این جدول رو به انضام کد پرسنلی اون به جدول زمانها منتقل کنید . نفر بعدی هم همینطور کد رو با این جدول update کنید و به جدول اصلی append کنید و نفر سوم
باز هم کد پرسنلی در جدول تاریخ update کنید و کل جدول به جدول اصلی append کنید .
حالا شما تمام تاریخها رو برای هر نفر دارید . میمونه یک فرم که مثلا بگید فروردین 1399 رو نمایش بده برای مثلا پرسنل الف
و بعد فرم با ردیفهای اماده باز میشه و شما فقط باید زمان وارد کنید .


راه کد نویسی هم اینه که یک روند ایجاد کنید که اتومات خودش برای هر پرسنل از 1399/01/011 شروع کنه تا 1399/12/30 در جدول اصلی طبق ماژول براتون ردیف اضاف کنه که کد پرسنای مربوطه هم داخلش باشه
ادامه کار هم مثل روش اول که گفتم .

در هرصورت باید برای هر نفر جدول تاریخ در تیبل بصورت کامل داشته باشید .

padide55
دوشنبه 07 مهر 1399, 08:25 صبح
ضمنا اگر میخواید در یک فرم ورودها و خروجها رو در ماه ببینید و ثبت کنید اولا پیشنهاد میکنم این کاررو نکنید .
ولی اگر لازم بود
همون جدول دوم پست قبل رو لازم داریم ضمن اینکه تاریخها باید از قبل به سیستم داده بشه و جای زمان ورود و خروج خالی باشه .
برای این کار بهتره با اکسس تاریخ ها رو برای یک یا دو سال اینده ایجاد کنید و یه اکسس تبدیل کنید
بعد برای هر نفر پس از ثبت مشخصات این جدول رو به انضام کد پرسنلی اون به جدول زمانها منتقل کنید . نفر بعدی هم همینطور کد رو با این جدول update کنید و به جدول اصلی append کنید و نفر سوم
باز هم کد پرسنلی در جدول تاریخ update کنید و کل جدول به جدول اصلی append کنید .
حالا شما تمام تاریخها رو برای هر نفر دارید . میمونه یک فرم که مثلا بگید فروردین 1399 رو نمایش بده برای مثلا پرسنل الف
و بعد فرم با ردیفهای اماده باز میشه و شما فقط باید زمان وارد کنید .
.سلام مجدد
بفرمایید . نمونه گذاشتم . تقویم تا پایان سال 1399

برای سال جدید میتونید تقویم جدید از اکسل ایجاد و ایمپورت کنید .و سال 99 رو پاک کنید و دوباره برای پرسنل جدول تایمکس اضافه کنید

narpco
دوشنبه 07 مهر 1399, 10:14 صبح
سلام ممنونم ...تکنیک جالی بود دارم سعی می کنم تحلیلش کنم ببینم چطورمیشه بهینش کرد ...

padide55
دوشنبه 07 مهر 1399, 11:21 صبح
سلام ممنونم ...تکنیک جالی بود دارم سعی می کنم تحلیلش کنم ببینم چطورمیشه بهینش کرد ...

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