กระทู้เก่าบอร์ด อ.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
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
2 @R03184
ต้องใช้ Min( ) กับ Max( ) ครับ ถ้าใช้ First( ) กับ Last( ) จะได้เรคอร์ดแรกและท้ายสุดของกลุ่ม แต่ไม่ได้การันตีว่าจะได้เวลาแรกและเวลาสุดท้าย
3 @R03187
อ้อ ลืมสนิทครับ อิอิ ขออภัยครับ
ตามที่ อ.สันติสุข ว่าเลยครับ
ตามที่ อ.สันติสุข ว่าเลยครับ
4 @R03191
ค่ะ
ขอบพระคุณมากๆนะคะสำหรับคำแนะนำ
เดี๋ยวจะทดลองทำตามดู
ได้ผลยังไงจะมาอีพเดทให้ทราบนะคะ ^______^
ขอบคุณอีกครั้งค่ะ ^______^
ขอบพระคุณมากๆนะคะสำหรับคำแนะนำ
เดี๋ยวจะทดลองทำตามดู
ได้ผลยังไงจะมาอีพเดทให้ทราบนะคะ ^______^
ขอบคุณอีกครั้งค่ะ ^______^
5 @R03192
ไม่ได้อ่ะค่ะ
ได้ผลลัพธ์ออกมาเหมือนเดิมเลย
เดี๋ยวขอลองอีกครั้งนะคะ
ได้ผลลัพธ์ออกมาเหมือนเดิมเลย
เดี๋ยวขอลองอีกครั้งนะคะ
6 @R03193
SQL ที่คุณเขียนเหมือนกับที่ผมให้ไปหรือเปล่าครับ
ขอดู 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)
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"
เลยลองแก้ตามแต่ก็ยังได้ผลลัพธ์แบบเดิมหรือเป็นเพราะใช้ฟิวด์อื่นด้วยอย่างที่คุณบอกค่ะ
"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
ควรทำไงดีคะ
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
ข้างล่างนี้เป็นโค้ดตามที่บอกนะคะ เป็บแบบสอบถามที่ได้มาจากตาราง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 ตามนี้นะครับ
ลองใช้ 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;
Time: 0.3694s
Last() เอาเวลาสุดท้าย
ใช้ร่วมกับ Group by
select first(TimeIn) as FirstIN, Last(TimeIN) as LastIn, UserID from table 1 Group by UserID, DateIn;