ตัดเวลาที่ซ้ำยังไงค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 3,003   19
URL.หัวข้อ / URL
ตัดเวลาที่ซ้ำยังไงค่ะ

คือยังงี้นะคะ ในตารางจะมีข้อมูลตามรูปด้านล่างแล้ว แล้วพนักงาน1คน ในวันเดียวกันจะเห็นว่ามีtimein มากกว่าหนึงครั้ง ปัญหาคือเราจะทำยังไงที่จะเลือกเอาเวลาครั้งแรกและครั้งสุดท้ายของพนักงานคนนนั้นในวันนั้นออกมาได้คะ (ถ้าพนักงานคนนั้นในวันนั้น มีtimein แค่ครั้งเดียวก็เอาเวลานั้นเลย) ยังไงรบกวนช่วยชี้แนะแนวทางด้วยนะคะ   ขอบคุณล่วงหน้าค่ะ


USERID          Name                    DateIn     TimeIn     SCHNAME
11627          Chumpair Pudlob     7/9/1466     8:00          dayshift
11627          Chumpair Pudlob     7/10/1466     8:00          dayshift
11114          Chakat Srisoi             7/10/1466     8:05           dayshift
11114          Chakat Srisoi             7/10/1466     8:10           dayshift
11114          Chakat Srisoi             7/10/1466     8:11            dayshift
11114          Chakat Srisoi             7/10/1466     8:12            dayshift
10845          Nopporn Puttidamron     7/10/1466     8:00             dayshift
11627          Chumpair Pudlob     7/11/1466     8:00             dayshift
11627          Chumpair Pudlob     7/12/1466     7:58             dayshift

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

1 @R03183
First() เอาเวลาแรก
Last() เอาเวลาสุดท้าย
ใช้ร่วมกับ Group by

select first(TimeIn) as FirstIN, Last(TimeIN) as LastIn, UserID from table 1 Group by UserID, DateIn;

2 @R03184
ต้องใช้ Min( ) กับ Max( ) ครับ ถ้าใช้ First( ) กับ Last( ) จะได้เรคอร์ดแรกและท้ายสุดของกลุ่ม แต่ไม่ได้การันตีว่าจะได้เวลาแรกและเวลาสุดท้าย
3 @R03187
อ้อ ลืมสนิทครับ อิอิ ขออภัยครับ
ตามที่ อ.สันติสุข ว่าเลยครับ
4 @R03191
ค่ะ
ขอบพระคุณมากๆนะคะสำหรับคำแนะนำ
เดี๋ยวจะทดลองทำตามดู
ได้ผลยังไงจะมาอีพเดทให้ทราบนะคะ ^______^
ขอบคุณอีกครั้งค่ะ ^______^
5 @R03192
ไม่ได้อ่ะค่ะ

ได้ผลลัพธ์ออกมาเหมือนเดิมเลย


เดี๋ยวขอลองอีกครั้งนะคะ
6 @R03193
SQL ที่คุณเขียนเหมือนกับที่ผมให้ไปหรือเปล่าครับ
ขอดู sql หน่อยครับ คุณไปเลือกฟิลด์อื่นๆ มาด้วยหรือเปล่า
7 @R03199
ทำไมpost ไม่ได้ล่ะ
8 @R03200
ทำตามที่คุณyaeadramแนะนำนะคะมันได้error แบบนี้อ่ะค่ะ

You tried to execute a query that does not include the specified expression as part of an aggregate function. (Error 3122)
9 @R03202
เลยไปค้นกระทู้เจอ

"http://www.thai-access.com/yeadram_view.php?topic_id=245"

เลยลองแก้ตามแต่ก็ยังได้ผลลัพธ์แบบเดิมหรือเป็นเพราะใช้ฟิวด์อื่นด้วยอย่างที่คุณบอกค่ะ

10 @R03203
เอาcode sql post ไม่ได้อ่ะค่ะมันขึ้นว่า

Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'Mid'

/functions/functions_filters.asp, line 37

ควรทำไงดีคะ
11 @R03213
ขอย้ำอีกครั้งว่า คุณเขียนโค้ดอะไร ก็เอามาแปะในนี้ครับ ไม่เช่นนั้นจะบอกไม่ได้ว่าผิดตรงไหน
12 @R03222
โทดทีค่ะที่เอา code มาแปะช้า พอดีเมื่อวานเอา code มาแปะแล้วขึ้น error ตามที่บอกอ่ะค่ะคือไม่สามารถ post ได้ไม่รู้ทำไม

ข้างล่างนี้เป็นโค้ดตามที่บอกนะคะ เป็บแบบสอบถามที่ได้มาจากตาราง2ตารางคือ
tblDataManpower และ CHECKINOUT
13 @R03223
เอา code มาแปะแล้วขึ้น error post ไม่ได้อ่ะค่ะ เลยส่งเมล์ไปให้แล้วนะคะ อาจส่งไปหลายครั้งหน่อยขอโทษทีนะคะ ไม่แน่ใจว่าทำถูกวิธีรึปล่าว
14 @R03224
ส่งไปที่ไหนครับ ใน accgamil@gmail.com ยังไม่เห็นมีเมล์อื่นเพิ่มเติม
15 @R03229
มีไอคอนตอนจะโพสต์ สัญลักษณ์คือ < >
ให้กดก่อน แล้วลองวางโค้ด ใส่ในระหว่าง
16 @R03235
อ้าวหรอค่ะ งั้นเอาตามที่คุณ yeadram แนะนำนะค่ะ

SELECT tblDataManpower.USERID, CHECKINOUT.DateIn, (CHECKINOUT.TimeIn) AS FirstIN
FROM tblDataManpower LEFT JOIN CHECKINOUT ON tblDataManpower.USERID = CHECKINOUT.USERID
WHERE (((Hour([CHECKINOUT].[TimeIn]))False))
ORDER BY tblDataManpower.USERID, CHECKINOUT.DateIn, (CHECKINOUT.TimeIn);



ขอโทษด้วยค่ะที่ทำให้เสียเวลา
17 @R03238
ไม่เห็นว่าคุณจะเขียนตามที่คุณ Yeadram บอกเลย ลองกลับไปดูใหม่ครับว่าเขาแนะนำว่าอย่างไร
18 @R03246
ค่ะขอบคุณนะคะ สะเพร่าเองเลยเสียเวลาคุณ yeadrum กับคุณ สันติสุขนานเลย
แต่ก็ขอบคุณนะคะที่พยายามตอบ พอดีทำงานหลายๆอย่างในเวลาจำกัดน่ะค่ะ บางครั้งเลยไม่รอบคอบ ขอโทษจริงๆนะค่ะ (อายจัง)
19 @R03328
เรียน คุณมือใหม่

ลองใช้ SQL Statement ตามนี้นะครับ

SELECT Attendence.USERID, Attendence.Name, Attendence.DateIn, Max(Attendence.TimeIn) AS MaxOfTimeIn, Attendence.SCHNAME
FROM Attendence
GROUP BY Attendence.USERID, Attendence.Name, Attendence.DateIn, Attendence.SCHNAME;
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3694s