กระทู้เก่าบอร์ด อ.Yeadram
        
           1,918   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.0631s
    
      
		
2) คำว่า "หน้าที่1" "หน้าที่2" มันหมายถึงอย่างไร ต้องอธิบายให้ละเอียด ตามที่คุณออกแบบไว้ คุณใช้อะไรเป็นตัวแบ่งแยกหน้า เอาภาพมาโพสให้ดูด้วยก็จะดี