กระทู้เก่าบอร์ด อ.Yeadram
1,761 9
URL.หัวข้อ /
URL
หน้าจอแสดงตารางรถ,เครื่องบิน
อยากได้คำแนะนำหรือ code ครับ
รบกวนสอบถามอาจารย์และผู้รู้ 2 เรื่องครับ
ต้องการให้หน้าจอแสดงตารางรถ ที่เรียงเวลาจะออกวิ่งและเลี่อนเองทุก 10 วินาที
1.แสดงข้อมูล Update รถที่ยังไม่ถึงเวลาออก ทุก 10 วินาที
2.รายการ รถ มีหลายหน้า จะทำอย่างไรให้แสดงหน้าที่ 1 จบแล้วแสดงหน้าที่ 2 ต่อไปจนครบ (โดยอัตโนมัติ)
ผมเพิ่งเริ่มหัดใช้งาน ตอนนี้ใช้ดึงข้อมูลแสดงเป็นตารางและ Report อยากจะเปิดหน้าจอไว้แล้วให้ Update อัตโนมัติเหมือน ที่เห็นในหัวลำโพงหรือสนามบินครับ
ขอบคุณมากครับ
รบกวนสอบถามอาจารย์และผู้รู้ 2 เรื่องครับ
ต้องการให้หน้าจอแสดงตารางรถ ที่เรียงเวลาจะออกวิ่งและเลี่อนเองทุก 10 วินาที
1.แสดงข้อมูล Update รถที่ยังไม่ถึงเวลาออก ทุก 10 วินาที
2.รายการ รถ มีหลายหน้า จะทำอย่างไรให้แสดงหน้าที่ 1 จบแล้วแสดงหน้าที่ 2 ต่อไปจนครบ (โดยอัตโนมัติ)
ผมเพิ่งเริ่มหัดใช้งาน ตอนนี้ใช้ดึงข้อมูลแสดงเป็นตารางและ Report อยากจะเปิดหน้าจอไว้แล้วให้ Update อัตโนมัติเหมือน ที่เห็นในหัวลำโพงหรือสนามบินครับ
ขอบคุณมากครับ
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04924
ขอบคุณครับ
หน้าที่ 1 และหน้าที่ 2 .....
หมายถึงว่า มีตารางรถที่จะต้องออกประมาณ 200 รายการครับ
แสดงผลรายการที่หน้าจอ ทำได้ไม่ครบในครั้งเดียว
เหมือน Report ที่มีหลายหน้าน่ะครับ ต้องการให้เลื่อนไปหน้าที่ 2,3,....
ขอบคุณครับ
หน้าที่ 1 และหน้าที่ 2 .....
หมายถึงว่า มีตารางรถที่จะต้องออกประมาณ 200 รายการครับ
แสดงผลรายการที่หน้าจอ ทำได้ไม่ครบในครั้งเดียว
เหมือน Report ที่มีหลายหน้าน่ะครับ ต้องการให้เลื่อนไปหน้าที่ 2,3,....
ขอบคุณครับ
3 @R04929
เราสามารถใช้การส่งค่าคีย์ Page Down เพื่อจำลองการกดคีย์ Page Down ให้ข้อมูลชุดต่อไปแสดงบนหน้าจอได้ ส่วนการเช็คว่ามันแสดงทุกหน้าหรือยัง ก็เช็คจากที่ว่าเรคอร์ดแรกในหน้า + จำนวนเรคอร์ดที่แสดงได้ มันมากกว่า จำนวนเรคอร์ดทั้งหมดหรือยัง
โค้ดโดยรวมก็จะมีแนวทางเป็นอย่างนี้
หมาเหตุ : ค่าของ AbsolutePosition เริ่มจาก 0
โค้ดโดยรวมก็จะมีแนวทางเป็นอย่างนี้
Const REC_PER_PAGE = 8 ' จำนวนบรรทัดที่สามารถแสดงได้ต่อครั้ง คุณไปปรับเปลี่ยนตรงนี้เอาเอง
Dim T As Variant ' จำนวนเรคอร์ดทั้งหมด
Private Sub Form_Open(Cancel As Integer)
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
If RS.RecordCount > 0 Then
RS.MoveLast
T = RS.RecordCount
Else
T = 0
End If
RS.Close: Set RS = Nothing
End Sub
Private Sub Form_Timer()
If Me.Recordset.AbsolutePosition + REC_PER_PAGE > T Then
DoCmd.GoToRecord acDataForm, "ชื่อฟอร์ม", acFirst
Else
SendKeys "{PGDN}", True
End If
End Sub
หมาเหตุ : ค่าของ AbsolutePosition เริ่มจาก 0
4 @R04930
ขอบคุณมากคับ
5 @R04942
โค้ดเขียนไม่ถูกไปบางจุด แม้ทำงานได้ แต่เปลี่ยนเป็นอันนใหม่ดีกว่าเพื่อให้เหมาะสม
Dim T As Variant เปลี่ยนเป็น Dim T As Long
If RS.RecordCount > 0 Then เปลี่ยนเป็น If Not RS.EOF Then
Dim T As Variant เปลี่ยนเป็น Dim T As Long
If RS.RecordCount > 0 Then เปลี่ยนเป็น If Not RS.EOF Then
6 @R04972
ชอบตรงที่ใช้
SendKeys "{PGDN}", True
เพราะไม่เคยนึกถึงจริง ๆ มีประโยชน์มากครับ
ขอบคุณมากครับอาจารย์
SendKeys "{PGDN}", True
เพราะไม่เคยนึกถึงจริง ๆ มีประโยชน์มากครับ
ขอบคุณมากครับอาจารย์
7 @R04992
อาจารย์สันติสุขครับผมเห็นเรื่อง sendkey เลยอยากถามครับว่าถ้าอยาก sendkey ปุ่ม ctrl+' ต้องเขียนอย่างไรครับทำไม่เป็น
8 @R04993
เครื่องหมาย + แทนการกด Shift, ^ แทนการกด Ctrl, % แทนการกด Alt, ตัวอักษรหรือตัวเลข ก็แทนตัวนั้นๆ ดังนั้น Ctrl + ' (single quote) ก็ใช้คำสั่ง SendKeys "^'", True ครับ
9 @R04994
อาจารย์ครับผมลองหามาตั้งนานแล้วครับผมในหนังสือมักอธิบายเรื่องการใช้ sendkey แค่บางส่วนครับ ขอบคุณอีกครั้งครับ
Time: 0.3545s
2) คำว่า "หน้าที่1" "หน้าที่2" มันหมายถึงอย่างไร ต้องอธิบายให้ละเอียด ตามที่คุณออกแบบไว้ คุณใช้อะไรเป็นตัวแบ่งแยกหน้า เอาภาพมาโพสให้ดูด้วยก็จะดี