คำนวณเงินเดือนกับค่าล่วงเวลา
กระทู้เก่าบอร์ด อ.Yeadram

 9,882   14
URL.หัวข้อ / URL
คำนวณเงินเดือนกับค่าล่วงเวลา

- พนักงานสามารถเข้างานสายได้ไม่เกิน 15 นาที ถ้าเกิน 15 นาที หักค่าแรงในชั่วโมงนั้น
- อัตราค่าแรงพนักงาน 25 บาทต่อชั่วโมงเท่ากันทุกคน และต้องทำงานให้ครบ 8 ชั่วโมง หากทำงานไม่ครบจะโดนหัก 25 บาทต่อชั่วโมงที่ขาด
- สำหรับพนักงานที่ขาดงานจะโดนหักเงินเดือนตามจำนวนวันที่ขาดในอัตราค่าแรง 200 บาทต่อวัน
- พนักงานทุกคนจะต้องถูกหักค่าประกันสังคม 5% ต่อเดือน จากเงินเดือนที่ได้รับ
- พนักงานที่ทำงานในวันหยุดนักขัตฤกษ์จะได้รับเงินเพิ่มเป็น 30 บาทต่อชั่วโมง
- สำหรับพนักงานที่ทำงานเกิน 8 ชั่วโมงต่อวัน จะได้รับค่าล่วงเวลาเพิ่มเป็น 28 บาทต่อชั่วโมงที่เกิน

ช่วยหน่อยค่ะ จะสร้าง from คำนวณค่าล่วงเวลากับเงินเดือนยังไงอ่ะคะ
     

14 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R03248
นี่มันเป็นงานจ้างทำแล้ว ไม่เห็นเกี่ยวกับแอคเซสเลย
2 @R03249
ไม่ใช่ค่ะ
พอดีเรียนอยู่แล้วทำโปรเจค เลยอยากหาคนช่วยชี้แนะหน่อยนะคะ

3 @R03252
1 คุณมีข้อมูล (ตาราง) อะไรแล้วบ้าง?

คุณทำงานกับ คิวรี่ได้คล่องแค่ไหน   จากข้อมูลที่คุณมีอยู่...

2 สามารถหาได้ไหมว่า พนักงานคนที่ 1 ทำงานจากวันที่ระบุเริ่มต้น ถึงวันที่ระบุสิ้นสุด รวมแล้วกี่วัน?

3 จากข้อ2 คุณสามารถหาได้ไหมว่า ช่วงวันดังกล่าว ของพนักงานคนดังกล่าว มีวันหยุดนักขัตฤกษ์กี่วัน? มีวันทำงานปกติกี่วัน? มีวันหยุดปกติกี่วัน?

4 จากข้อ2 คุณสามารถหาได้ไหมว่า พนักงานคนดังกล่าว ในช่วงวันดังกล่าว มีกรณีการทำงานที่ไม่ปกติ (ขาด, ลา, สาย, ล่วงเวลา, ทำงานวันหยุด) กี่ครั้ง? และมีวันทำงานที่ปกติ กี่ครั้ง?

ย้อนไปดูข้อมูลที่คุณมี แล้วเอาคำถามนี้ไปถามตัวเอง ถามเองตอบเอง ถ้าตอบทันทีไม่ได้ ให้ลองหาคำตอบ ให้ลองหาวิธีเพื่อให้ได้คำตอบ   นั่นแหละครับ คำแนะนำจากผม
4 @R03254
เพิ่งหัดทำนะค่ะสร้างตารางได้หมดทุกตารางแล้วค่ะ
แต่สร้าง Qry ไม่เป็นอ่ะค่ะ
5 @R03280
ตอนนี้สร้าง Qry หาค่าแรงปกติได้แล้วค่ะ (จากตารางการทำงาน มี รหัสพนักงาน กับ วันที่ เป็น PK ค่ะ)

แบบนี้อ่ะค่ะ แต่ว่าไม่ทราบว่าจะหาผลรวมค่าแรงของพนักงานแต่ละคนในแต่ละเดือนยังไงอ่ะค่ะ
6 @R03283
ภาพของผลลัพภ์ทางเบื้องหน้า ช่วยทำให้เข้าใจเร็วขึ้นง่ายขึ้นครับ ดีมาก
แต่จริงๆ แล้วถ้าจะให้ช่วยดูจริงๆ คุณต้องเอางานทางเบื้องหลังมาด้วยครับ ต้องได้เห็น sql ของคิวรี่ครับถึงจะง่าย

ลองอย่างนี้นะครับ

select [รหัสพนักงาน] As LaborID, sum([ค่าแรงต่อวัน]) as EachIncome, format([วันที่], "mmm yyyy") as forMonth
from [การทำงาน]
where (format([วันที่], "mmyy") = "'" & [ระบุเดือนปี 'mmyy'] & "'")
group by [รหัสพนักงาน], format([วันที่], "mmm yyyy");


(((((( โอ้วว พระเจ้าจ๊อด ตั้งชื่อ ออบเจ็คเป็นภาษาไทย ))))))
(((((( กว่าจะเขียนเสร็จ ต้องใช้ blanket แทบทุกจุดเลย )))))
7 @R03290
ลองเอาไปปรับใช้ดูแต่รู้สึกงงอ่ะค่ะ
อันนี้คืออันที่ลองทำดูอ่ะค่ะ

SELECT [ค่าแรงปกติต่อวัน].RepID, Sum([ค่าแรงปกติต่อวัน].[ค่าแรง]) AS เงินเดือน
FROM ค่าแรงปกติต่อวัน
GROUP BY [ค่าแรงปกติต่อวัน].RepID, [ค่าแรงปกติต่อวัน].[ค่าแรง];


รวมของพนักงานแต่ละคนแต่ยังไม่ได้แยกเป็นเดือนอ่ะค่ะยังไงช่วยทีนะคะ
8 @R03291
เท่าที่ดูผลจากการ นำไปปรับใช้
ผมว่า คุณ saiaew เข้าใจอะไรผิดไปเยอะแล้วล่ะ

- ห้เอาวันที่มาด้วยครับ ถ้าคุณไม่เอาวันที่มาด้วย คุณจะหาเป็นเดือนได้ยังไงล่ะครับ วันที่แม้จะไม่โชว์ก็ต้องเอามา ใช้สำหรับเงื่อนไข ใช้สำหรับกรอง สำหรับกรุ๊ป ครับ
- sum() กับ Group by ใช้ร่วมกันไม่ได้ครับ ฟิลด์ไหนที่คุณเอามันไป sum แล้ว จะมาสั่ง Group ไม่ได้ ลองดูดีๆ ที่ผมเขียนกับของคุณเขียน เรา Group by กันคนละแบบนะครับ ของผมมีผลลัพธ์ 3 ฟิลด์นะครับ แยกเป็น sum 1 ฟิลด์ อีกสองฟิลด์ที่เหลือผม Group

- แล้วทำไม ไม่เอา sql ของผมไปลองรันดูล่ะครับ มันได้ตรงกับความต้องการไหม?

"รวมของพนักงานแต่ละคนแต่ยังไม่ได้แยกเป็นเดือน" อันนี้มันไม่ต้องแยกเป็นคนละคิวรี่นะครับ มันทำสองงานดังกล่าวได้ในคิวรี่เดียวไปเลย ดูเหมือนที่ผมให้ไปน่ะครับ มันเสร็จเลย (ถ้าชื่อ ฟิลด์ ชื่อตารางไม่ต่างไปจากนี้)
9 @R03294
งงอ่ะค่ะ
งงจริงๆ
งงอย่างแรงเลย
-*-
เขียน sql ไม่เป็นอ่าค่ะ
ต้องขอโทษคุณ yeadram ด้วยนะคะ อุตส่าห์พยายามสอน แต่อิ๋วก็ยังทำไม่ได้อยู่ดี
10 @R03296
-ลองสร้าง คิวรี่เปล่าๆ ตัวใหม่มา 1 ตัว
-เปลี่ยนมุมมองไปเป็น มุมมอง sql
-ก็อปปี้ sql ที่ผมให้ไป เอาไปวางทับทั้งหมด
-เปลี่ยนมุมมองกลับไปเป็นมุมมองออกแบบ เพื่อดูวิธีออกแบบ
-เปลี่ยนมุ่มมองไปเป็น แผ่นข้อมูล เพื่อดูผลลัพภ์ ครับ
11 @R03297
ลองแล้วค่ะ ผลออกมาเป็นแบบนี้ค่ะ อันนี้เอา sql ทีให้มาไปรันดูน่ะค่ะ
12 @R03298
ข้อมูลเพิ่มเติมค่ะเผื่อจะมีประโยชน์ได้บ้าง ตารางการทำงาน มี
RepID --->PK
Date    --->PK
StartTime
EndTime


อันนี้คือ Qry เงินเดือนที่หาได้ของพนักงานแต่ละคนอ่ะค่ะ

ส่วนอันนี้คือค่าแรงต่อวัน
13 @R03299
- จาก R03290   คุณเอาคิวรี่ไปปรับ ผมเพิ่งจะสังเกตเห็นว่า คุณไปดึงข้อมูลจากคิวรี่ ไม่ได้ดึงข้อมูลจากตาราง
- และเท่าที่ดู คิวรี่ตัวนี้ "ค่าแรงปกติต่อวัน"   มีฟิลด์รายได้ หรือ "ค่าแรง" ด้วย แต่ไม่มีฟิลด์วันที่
- ส่วนตาราง "การทำงาน" มีฟิลด์วันที่ มีฟิลด์เวลา แต่ไม่มีฟิลด์ "ค่าแรง" หรือรายได้

อืมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมมม
ผมก็อยากจะช่วยทำให้เป็นนะครับ ดูเหมือนคุณยังเริ่มต้น จริงๆ แต่มันก็ลำบาก ถ้าผมไม่รู้ว่า คุณ มีอะไรแล้วบ้าง Access เวอร์ชั่น 2007 นี่ สามารถเปิดดู ผังความสัมพันธ์ได้หรือเปล่าครับ   เปิดให้ดูหน่อย ขยายให้เห็นชื่อฟิลด์ของทุกๆ ตารางนะครับ แล้ว จับภาพมาหน่อยครับ
14 @R03300
รูปรีเรชั่น

มันอัพโหลดรูปไม่ขึ้นอ่ะค่ะ คลิก ตรงรูป รีเรชั่นแล้วเข้าไปดูนะคะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3445s