กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
352 4
URL.หัวข้อ /
URL
Copy time
สวัสดีครับ อ. สุภาพ ครับ ผมมีปัญหาเรียนถาม อ. คือว่า
ตอนนี้ผมมี table ชื่อ Print Time ซึ่งประกอบไปด้วย filed
DateID........BeginDate.......EndDate
แล้วผมได้ทำเป็น Form ซึ่งใน Form ผมได้ตั้ง Default ของ EndDate เป็น Time() คือผมต้องการให้เมื่อเวลาที่ปิด Form นี้แล้วให้ค่าของ EndDate ซึ่งเป็นเวลาปัจุบันนี้นำค่าไปเก็บไว้ใน filed ของBeginDate แล้วเมื่อมีการเปิด Form นี้ใหม่อีกครั้งหนึ่งค่าของ BeginDate ก็จะขึ้นมา และค่าของ EndDate ก็จะเป็นเวลาปัจจุบันเป็นอย่างนี้ไปเรื่อยเมื่อมีการเปิดใช้ Form นี้ (วัตถุประสงค์คือต้องการ Print Report เป็นช่วง ๆ ของเวลา ว่าแต่ละช่วงของเวลานี้มีงานเข้ามาตอนไหนบ้าง)
ตอนนี้ผมมี table ชื่อ Print Time ซึ่งประกอบไปด้วย filed
DateID........BeginDate.......EndDate
แล้วผมได้ทำเป็น Form ซึ่งใน Form ผมได้ตั้ง Default ของ EndDate เป็น Time() คือผมต้องการให้เมื่อเวลาที่ปิด Form นี้แล้วให้ค่าของ EndDate ซึ่งเป็นเวลาปัจุบันนี้นำค่าไปเก็บไว้ใน filed ของBeginDate แล้วเมื่อมีการเปิด Form นี้ใหม่อีกครั้งหนึ่งค่าของ BeginDate ก็จะขึ้นมา และค่าของ EndDate ก็จะเป็นเวลาปัจจุบันเป็นอย่างนี้ไปเรื่อยเมื่อมีการเปิดใช้ Form นี้ (วัตถุประสงค์คือต้องการ Print Report เป็นช่วง ๆ ของเวลา ว่าแต่ละช่วงของเวลานี้มีงานเข้ามาตอนไหนบ้าง)
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R00362
ไม่ทราบว่าจะตรงกับความต้องการหรือเปล่า ลองดูจากตัวอย่างครับ โดยการเปิดฟอร์มชื่อ frmCopyTime ดูหลายครั้ง
โค้ดในส่วนของฟอร์มมีดังนี้
Private Sub Form_Load()
DoCmd.GoToRecord acDataForm, Me.Name, acNewRec
Me.EndDate = Time
Me.BeginDate = Nz(DMax("EndDate", "tblCopyTime"), Time())
End Sub
ตัวอย่างอยู่ที่ http://agserver.kku.ac.th/basiceng/CopyTime.zip ครับ
2 @R00364
ขอบพระคุณ อ.สุภาพ สำหรับความรู้ดีๆ ครับ
Suchat
ชลบุรี
3 @R00365
ขอบพระคุณ อ.สุภาพ มากครับที่ให้คำตอบ วันนี้ผมได้ลองทำแล้วใช่ได้ครับแต่ขอรบกวนถามเพิ่มคือว่า
ตอนนี้ผมได้เพิ่ม filed ชื่อ RecDate เข้ามาใน form นี้แล้ว set ค่าเป็น Date() คือผมต้องการให้เมื่อเปิด form นี้ของแต่ละวันนั้น ค่าของ BeginDate ให้มันเริ่มต้นของแต่ละวันใหม่โดยเป็นของวันใคร่วันมัน ไม่ต้องการให้เอาค่าของเมื่อวานมาใช้ต่อนะครับ
4 @R00366
ลองปรับบรรทัดสีน้ำเงินดูจะครับ
Private Sub Form_Load()
DoCmd.GoToRecord acDataForm, Me.Name, acNewRec
Me.EndDate = Time
Me.BeginDate = Nz(DMax("EndDate", "tblCopyTime", "[RecDate]=#" & Format(Date, "d mmm yyyy") & "#"), Time())
End Sub
หรือถ้าใช้ไม่ได้ ให้เปลี่ยนเป็น
Me.BeginDate = Nz(DMax("EndDate", "tblCopyTime", "[RecDate]=#" & Date & "#"), Time())
Time: 0.1223s