กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
280 1
URL.หัวข้อ /
URL
... เรียนอาจารย์สุภาพครับ ...
คือว่า จาก db ex ที่แนบมาด้วยน่ะครับ มีอยู่สอง table ใช่ไหมครับ
คือ Time_Recorder กับ Work_time
ทีนี้ ผมจะทำการ select ข้อมูลจากฟิล trc_duty_io กับ ฟิล trc_time จากตาราง Time_Recorder โดยที่ ให้ข้อมูลในฟิล trc_emp_id และฟิล trc_date ตรงกับ ข้อมูลในฟิล wtm_emp_id กับฟิล wtm_date ในตาราง Work_time ด้วยน่ะครับ
อีกส่วนนึงคือ จะทำการ select ข้อมูลจากฟิล wtm_timein , wtm_breakin, wtm_breakout, wtm_timeout จาก ตาราง Work_time โดยที่ ให้ข้อมูลในฟิล wtm_emp_id และฟิล wtm_date ตรงกับข้อมูลในฟิล trc_emp_id กับฟิล trc_date ในตาราง Time_Recorder ด้วยน่ะครับ
ที่ผมเคยถามไปแล้วครั้งนึง (แต่ก็ยังหาทางไม่ได้) ที่ผมเขียนไว้แล้วดังนี้คือ
Dim rst, rst2, rst3, rst4 As DAO.Recordset
Set dbs = CurrentDb()
Set rst3 = dbs.OpenRecordset("select wtm_emp_id, wtm_date from work_time")
Set rst4 = dbs.OpenRecordset("select trc_emp_id, trc_date from time_recorder")
Set rst = dbs.OpenRecordset("select trc_duty_io, trc_time from time_recorder where trc_emp_id = " & rst3!trc_emp_id & " and trc_date = #" & rst3!trc_date & "# ")
Set rst2 = dbs.OpenRecordset("select wtm_timein, wtm_breakin, wtm_breakout, wtm_timeout from work_time where wtm_emp_id = " & rst4!trc_emp_id & " and wtm_date = #" & rst4!trc_date & "# ")
ก็ตอนนั้น ลองทั้ง rst.recordcount , rst2.recordcount ก็ได้ผลลัพท์เป็น 0 ตลอดเลยน่ะครับ (เหมือนกับมันหาไม่เจอ แต่ใน table ทั้งสองก็มีข้อมูลที่ตรงกัน ฟิลตรงกันถูกต้องนินะ)
ไม่ทราบว่า มันไม่สามารถหาจากตารางที่ผมกำหนดขึ้นมาได้หรือป่าวครับ (หรือว่าผมเขียน code ผิด)
ถ้าไม่ได้ มีวิธีไหนไหมครับ ที่จะทำให้ผม select ข้อมูลตามที่กล่าวมาตอนแรกได้ (ตอนนี้ผมมองเห็นแค่ทางเดียวจริงๆ )
รบกวนอาจารย์ช่วยเหลืออีกทีนะครับ(ถ้าทางนี้แก้ไม่ได้ จะมีทางไหนทำยังงี้อีกได้บ้าง) คิดมาหลายสัปดาห์แล้ว ไม่สักกะที
ขอบพระคุณอาจารย์มากๆ ครับ
คือ Time_Recorder กับ Work_time
ทีนี้ ผมจะทำการ select ข้อมูลจากฟิล trc_duty_io กับ ฟิล trc_time จากตาราง Time_Recorder โดยที่ ให้ข้อมูลในฟิล trc_emp_id และฟิล trc_date ตรงกับ ข้อมูลในฟิล wtm_emp_id กับฟิล wtm_date ในตาราง Work_time ด้วยน่ะครับ
อีกส่วนนึงคือ จะทำการ select ข้อมูลจากฟิล wtm_timein , wtm_breakin, wtm_breakout, wtm_timeout จาก ตาราง Work_time โดยที่ ให้ข้อมูลในฟิล wtm_emp_id และฟิล wtm_date ตรงกับข้อมูลในฟิล trc_emp_id กับฟิล trc_date ในตาราง Time_Recorder ด้วยน่ะครับ
ที่ผมเคยถามไปแล้วครั้งนึง (แต่ก็ยังหาทางไม่ได้) ที่ผมเขียนไว้แล้วดังนี้คือ
Dim rst, rst2, rst3, rst4 As DAO.Recordset
Set dbs = CurrentDb()
Set rst3 = dbs.OpenRecordset("select wtm_emp_id, wtm_date from work_time")
Set rst4 = dbs.OpenRecordset("select trc_emp_id, trc_date from time_recorder")
Set rst = dbs.OpenRecordset("select trc_duty_io, trc_time from time_recorder where trc_emp_id = " & rst3!trc_emp_id & " and trc_date = #" & rst3!trc_date & "# ")
Set rst2 = dbs.OpenRecordset("select wtm_timein, wtm_breakin, wtm_breakout, wtm_timeout from work_time where wtm_emp_id = " & rst4!trc_emp_id & " and wtm_date = #" & rst4!trc_date & "# ")
ก็ตอนนั้น ลองทั้ง rst.recordcount , rst2.recordcount ก็ได้ผลลัพท์เป็น 0 ตลอดเลยน่ะครับ (เหมือนกับมันหาไม่เจอ แต่ใน table ทั้งสองก็มีข้อมูลที่ตรงกัน ฟิลตรงกันถูกต้องนินะ)
ไม่ทราบว่า มันไม่สามารถหาจากตารางที่ผมกำหนดขึ้นมาได้หรือป่าวครับ (หรือว่าผมเขียน code ผิด)
ถ้าไม่ได้ มีวิธีไหนไหมครับ ที่จะทำให้ผม select ข้อมูลตามที่กล่าวมาตอนแรกได้ (ตอนนี้ผมมองเห็นแค่ทางเดียวจริงๆ )
รบกวนอาจารย์ช่วยเหลืออีกทีนะครับ(ถ้าทางนี้แก้ไม่ได้ จะมีทางไหนทำยังงี้อีกได้บ้าง) คิดมาหลายสัปดาห์แล้ว ไม่สักกะที
ขอบพระคุณอาจารย์มากๆ ครับ
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
Time: 0.1139s
แต่วิธีที่จะตรวจสอบตรงนี้ คือ นำ SQL Statement ของทั้ง 2 ไปสร้างเป็น Query แล้วลองวิวดูว่าได้ผลหรือไม่
ผมเดาว่าน่าจะเกิดจากสาเหตุของวันที่
ลองใช้ CDbl() ช่วยครับ
select wtm_timein, wtm_breakin, wtm_breakout, wtm_timeout from work_time where wtm_emp_id = " & rst4!trc_emp_id & " and CDbl(wtm_date) = " & CDbl(rst4!trc_date))