สอบถามเรื่อง กำหนด record บน รายงานครับ
กระทู้เก่าบอร์ด อ.Yeadram

 917   8
URL.หัวข้อ / URL
สอบถามเรื่อง กำหนด record บน รายงานครับ

คือผมต้องการออกแบบรีพอทให้แสดง เวลามาทำงาน นะคับ โดยให้รีพอทแสดงทุก ของมูล ที่ครบทุกวัน ถ้าพนักงานมาทำงานก็จะแสดงวันที่ และเวลา แต่ถ้าไม่มา จะแดงแค่วันที่ และชื่อวันในสัปดาห์นั้นๆ(จ.,อ.,พ.) ตอนนี้ผมทำได้แค่แสดง reccord ที่มีข้อมูลเท่านั้น แต่อยากให้มันเรียงวันทำไม่ได้สักที อาจารย์ท่านใหนพอที่จะมีแนวคิดดีๆ ช่วยแนะนำหน่อยครับ

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

1 @R22030
ขอแก้ไขคำถามนะครับ อ่านแล้วงงเอง

คือผมต้องการออกแบบรีพอทให้แสดง เวลามาทำงาน โดยให้รีพอทแสดงวันที่ให้ครบทุกวันในเดือนนั้นตามภาพที่แนบนะครับ ถ้าพนักงานมาทำงานก็จะแสดงวันที่ และเวลา แต่ถ้าไม่มา จะแสดงแค่วันที่ และชื่อวันในสัปดาห์นั้นๆ(จ.,อ.,พ.) ตอนนี้ผมทำได้แค่แสดง reccord ที่มีข้อมูลเท่านั้น แต่อยากให้มันเรียงวันทำไม่ได้สักที อาจารย์ท่านใหนพอที่จะมีแนวคิดดีๆ หรือวิธีการออกแบบที่ถูกต้องช่วยแนะนำหน่อยครับ
2 @R22031
ลองสร้างตาราง วันทำงานของเดือนนั้นๆเพิ่มอีก 1 ตารางครับ
จากนั้นสร้าง คิวรี่ โดยใช้ 2 ตาราง คือ1. ตารางวันทำงาน กับ 2. ตารางวันที่พนักงานมาทำงาน ทำการ join ด้วยวันที่ โดยให้แสดงทุกข้อมูลจากตาราง 1
3 @R22032
ขอบคุณครับ

ส่วนขอมูลวันที่ตารางทำงาน จะใช้ทุกวันตามปฏิทินนะครับ พอมีวิธีที่เราจะเอาวันที่เหล่านั้นลงฐานข้อมูลเลยได้มั้ยครับ โดยไม่ต้องคอยเพิ่มเข้าไปในฐานข้อมูลเอง ตอนส่วนคิดว่าจะได้พวกฟังก์ชั่นเกี่ยวกับ DATE แต่ไม่รู้ว่าจะใช้ยังไงดี
4 @R22037
สมมุติ ดังนี้
1.ตารางเก็บวันที่ชื่อ TableWorkDate มี field ชื่อ workdate
2.สร้างฟอร์ม ชื่อ FormRunDate
    มี Textbox ชื่อ txtBegin(ไว้ใส่วันเริ่มต้น)
    มี Textbox ชื่อ txtEnd(ไว้ใส่วันสิ้นสุด)
    มี command button ชื่อ cmdSave
3.ที่ command button เขียน vba ใน Event on click ดังนี้
Private Sub cmdSave_Click()
Dim opdate As Date
opdate = CDate(Me.txtBegin)
Do Until opdate > Me.txtEnd
DoCmd.SetWarnings False
DoCmd.RunSQL " INSERT INTO TableWorkDate " _
        & "(workdate) VALUES " _
        & "(#" & opdate & "#);"
        opdate = DateAdd("d", 1, opdate)
Loop
End Sub
ลองประยุกต์ดูนะครับ หรือ รอคำแนะนำจากท่านอื่น

5 @R22039
เอ....ทำไมรัน code แล้วผลลัพธ์แปลกๆ สอบถามผู้รู้หน่อยครับ
สมมุติผมเริ่มวันที่ 1/1/2016 กับ 20/1/2016 ผลลัพธ์ได้แบบนี้ ครับ มันสลับที่วันที่กับเดือน

6 @R22043
ขอบคุณสำหรับแนวคิดครับและตัวอย่าง code ครับ เดี๋ยวจะลองทำดู ยังงงๆกับ Access อยู่เลย
7 @R22048
เรื่อง Date Format นี้ต้องระวังให้จงหนักเลยครับ

สาเหตุที่ข้อมูลของคุณ chai ออกมาไม่ถูกต้องเพราะ ปกติแล้ว Access จะรับรู้ข้อมูล Date ในรูปแบบของ เดือน/วัน/ปี
เช่น 3/1/2016 = March/01/2016
แต่ถ้า 13/1/2016 = 13/Jan/2016 เพราะเดือน 13 ไม่มี Access จึงเดาว่าเป็นรูปแบบ วัน/เดือน/ปี

ดังนั้น ปกติเวลาผมจะทำการ Insert ข้อมูลประเภท Date จะทำการแปลง format ให้เป็น ปี/เดือน/วัน ก่อนเสมอ เพื่อป้องกันปัญหาการเข้าใจผิด ระหว่าง Access กับใส่ข้อมูล
8 @R22049
ใช้ format(Date,"yyyy/mm/d") ก็ให้ผลเหมือนกันครับ รบกวนคุณ PichaiTC แก้ code ให้เป็นตัวอย่างหน่อย ขอบคุณครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2482s