access97 หรือ2000
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 263   7
URL.หัวข้อ / URL
access97 หรือ2000

ฝึกเขียนอยู่ครับ พบปัญหาต้องการสร้างปุ่มเพื่อคลิก แล้วให้มันแสดงวันที่และเวลาขณะนั้น  แต่ไม่ไม่เปลี่ยนแปลงต่อไป ถ้า วันที่และเวลาจริงมีการเปลี่ยนไป   
และอยากทราบว่ามีวิธีกำหนดอย่างไร ถ้าต้องการรู้ผลต่างของวันที่และเวลา 2 ช่วงว่า ใช้เวลาไปกี่วันกี่ชม.กี่นาที กี่วินาทีในการทำงานชิ้นนั้น ต้องใช้สูตรอย่างไร กำหนดไว้ที่ใด ขอความกรุณาด้วยครับ กำลังมึนไม่รู้จะไปพึ่งใครแล้ว ช่วยตอบทางอีเมล์ได้ก็จะเป็นพระคุณยิ่ง

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

1 @R00511
ก็คงจะต้องเก็บในตาราง โดยแบ่งออกเป็น 2 ฟีลด์ คือ BDateTime เพื่อเก็บวันเวลาเริ่มต้น และ EDateTime เพื่อเก็บวันเวลาสิ้นสุด จากนั้นก็ให้สร้องฟอร์มจากตารางนี้ แล้วใส่ปุ่ม Command Button 2 ปุ่ม ไว้ข้างๆ Text Box ของฟีลด์ทั้ง 2 ปุ่มที่ 1 ให้ใส่โค้ดนี้ลงไป Private Sub Command0_Click() If Me.BDateTime ="" Or IsNull(Me.BDateTime) Then Me.BDateTime = Now End If End Sub และใส่โค้ดนี้ลงไปในปุ่มที่ 2 Private Sub Command1_Click() If Me.EDateTime = "" Or IsNull(Me.EDateTime) Then Me.EDateTime = Now End If End Sub ถ้าต้องการจะทราบความแตกต่างจากเวลาของทั้ง 2 ฟีลด์ ให้ใส่ Text Box ลงไปอีก 1 อัน ชื่อ txtTimeDiff แล้วใส่โค้ดนี้ลงไป โดยให้อยู่ใน On Double Click คือ ถ้าต้องการที่จะให้แสดงผล ต้องคลิก 2 ทีที่ Text Box นี้ Private Sub txtTimeDiff_DblClick(Cancel As Integer) If Me.EDateTime > Me.BDateTimeThen Me.txtTimeDiff = DateDiff("d", Me.BDateTime, Me.EDateTime) & " วัน " & _ DateDiff("h", Me.BDateTime, Me.EDateTime) Mod 24 & ":" & _ DateDiff("n", Me.BDateTime, Me.EDateTime) Mod 60 & _ ":" & DateDiff("s", Me.BDateTime, Me.EDateTime) Mod 60 Else MsgBox "เวลา Date Finish จะต้องมากกว่าเวลา Date Start", vbOKOnly, "ใส่เวลาผิด" Exit Sub End If End Sub จะเห็นว่าผมใช้ฟังก์ชัน DateDiff() เข้าช่วย และการใช้ Mod (หารเอาเศษ) ให้ศึกษาจาก Help เพิ่มเติมนะครับ
2 @R00598
ผมมีปัญหาเกี่ยวกับการเขียนแอกเซสครับ กำลังหัดทำ อยากทำดังนี้ครับ มีพนักงานกลุ่มที่ 1 เป็นพนักงานระดับล่าง ต้องทำงานร่วมกับพนักงานกลุ่มที่2 เป็นพนักงานระดับบน แต่ละพนักงานมีเลขประจำตัวพนักงานตามลำดับอาวุโสครับ พนักงานทั้ง 2 กลุ่มจะถูกสุ่มรับงานมาทำชิ้นหนึ่ง โดยงานจะหมุนเวียนไปตามลำดับเลขประจำตัวก่อนรับงานก่อน พนักงาน2กลุ่มนั้นใครมีงานที่ค้างในมือน้อยที่สุดต้องทำงานชิ้นนั้นก่อน ถามว่าจะเขียนยังไงครับที่จะให้กดปุ่มสุ่มหา แล้วระบบจะแจ้งเลขไอดีพนักงานนั้นหรือชื่อพนักงานนั้น ทั้ง 2 คนขึ้นมาเพื่อรับมอบงานชิ้นนั้นไปทำ หมายเหตุ ให้โปรแกรมหยุดสุ่มพนักงานคนที่ลาป่วยลากิจด้วย ขอบคุณมากครับ
3 @R00600
คงต้องมีตาราง Assignment เพื่อบันทึกว่าใครทำงานอะไรบ้างตอนนี้ แล้วมีฟีลด์หนึ่งที่บอกว่าทำเสร็จหรือยัง จากนั้นเราต้องการทำการ Count ว่าใครเหลืองานในมือน้อยที่สุด โดยให้เรียงตามจำนวนงานที่น้อยขึ้นก่อน แล้วเรียงตามรหัสของพนักงานครับ ถ้าต้องการตรวจดูว่าคนลำดับที่ 1 ที่ควรจะมารับงานชิ้นต่อไปลาอยู่หรือเปล่า ก็ต้องตรวจว่ามีรายชื่อลาหรือเปล่า ไม่ทราบว่าตรงกับที่คิดเรื่องวันลาหรือเปล่าครับ
4 @R00602
เรื่องการสุ่มหา นั้นขอบคุณครับสำหรับคำอธิบาย แต่ยังไม่เข้าใจวิธีการทำ ไม่ทราบว่าพอจะสมมติตัวอย่างและต้องเขียนโค๊ดอย่างไรบ้างครับ ถ้าจะละเอียดสักนิดคงจะเป็นพระคุณยิ่งครับ ใช้97เขียนครับ
5 @R00603
จากหัวข้อที่ 00261 เรื่องการเขียนป่มกำหนดเวลา เช่นป่มที่ 1 ตอนแรกเวลาอยู่ที่ 00.00.00 หรือ NOW ก็ได้ และหลังจากนั้นสมมติว่าอีก 15 นาทีคลิกปุ่มที่2 ให้ปุ่มที่2ใส่เวลาของขณะนั้นNOWลงไป ทั้งนี้จุดประสงค์เพื่อเปรียบเทียบว่า จากเวลา ณปุ่มที่1ถึงเวลา ณ ปุ่มที่ 2 ใช้เวลาไปกี่ชม. กี่นาที กี่วินาที นั้น และทางคุณสุภาพกรุณาให้คำแนะนำมา ผมลองทำดูปรากฎว่า ครั้งแรกที่ยังไม่คลิก(ใช้ ปุ่มออพชั่น ใน 97) ปรากฎว่า เริ่มแรกเป็น 00.00.00 และเมื่อคลิกให้เป็นจุดดำแล้วจะปรากฎเป็น 29/12/2442 ซึ่งไม่ตรงตามที่ผมต้องการ ไม่ทราบว่าเป็นเพราะอะไร 1.ทำไมจึงเป็น 29/12/2442 เวลาในเครื่องก็ถูกต้องแล้ว 2.ทำไมหลังคลิกไม่เป็นวันที่ เช่น 19/08/2545 17.18.04 3.มีวิธีแก้ไขอย่างไร 4.ถ้ามีขั้นตอนการจับเวลาถัดไปอีกหลายขั้นตอน ทำเหมือนเดิมหรือไม่ หรือทำอย่างไร 5.การหักกลบเวลาเพื่อให้ปรากฎในรายงานว่าแต่ละขั้นตอนใช้เวลาเท่าไร เขียนอย่างไร ขอความกรุณาด้วยครับ ละเอียดๆยิ่งดีหรือมีตัวอย่างจะเป็นพระคุณยิ่ง
6 @R00605
ไม่ทราบว่าได้สร้างหรือออกแบบตารางอะไรบ้างหรือยังครับ คงจะต้องมีตาราง 1. ตารางพนักงาน StaffID, FName, LName, ... 2. ตารางภาระงาน AutoID, TaskID, StaffID, Status (finished), WDate, ... 3. ตารางงาน TaskID, TaskDescrpt, ... ให้สร้างความสัมพันธ์แบบ One-To-Manay ดังนี้ ตารางพนักงาน (One Side) -----> ตารางภาระงาน (Many Side) <------ ตารางงาน (One Side) Staff ID StaffID TaskID TaskID ไม่ทราบว่าวางแผนส่วนนี้ไว้อย่างไรบ้างครับ ลองออกแบบตารางต่างๆ ในขึ้นแรกเสียก่อนครับ
7 @R00606
คุณวิชิตครับ ขอให้เริ่มหัวข้อของคุณใหม่ โดยการคลิกที่ปุ่ม ฝากข้อความใหม่ นะครับ กระทู้ของคุณจะได้ไม่ปนกับของคนอื่นครับ ส่วนคุณ surapon ไม่ทราบว่ามีตัวย่างตัวที่พูดถึงว่ามีปัญหาหรือเปล่าครับ ให้ zip แล้วส่งมาให้ผมดู โดยอธิบายปัญหาและความต้องการให้ชัดเจนนะครับ ผมจะได้ดูได้ง่ายยิ่งขึ้น
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0401s