สอบถาม รันเลขแบบง่ายๆค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,238   7
URL.หัวข้อ / URL
สอบถาม รันเลขแบบง่ายๆค่ะ

คือหนูมี พอร์มหลัก และพอร์มย่อยแบบ Datasheet ค่ะ

และหนูสร้าง Text1 ว่างๆไว้ในพอร์มย่อยแบบ Datasheet
เพื่อที่หนูต้องการ รันเลขให้ผู้ใช้งานดูว่ามีกี่ตัว เช่นมี 3 แถว ก็จะเป็น 1,2,3 เป็นต้นค่ะ
โดย Text 1 นี้หนูไม่เก็บค่าไดๆค่ะ ไว้ รันเลขให้รู้ว่ามีกี่ตัวนับให้ผู้ใช้ดูค่ะ
หนูต้องเขียนอย่างไรค่ะ หนูดูตัวอย่างพี่ๆแล้วมีแต่คนมาถามเกี่ยวกับเงื่อนไขทั้งนั้นเลย
คือหนูทำตอนที่กำลังจะสั่งพิมพ์ได้ แต่ในพอร์มนึกไม่ออกจิงๆค่ะ
ช่วยรบกวนหน่อยนะค่ะ
ขอบคุณค่ะ


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

1 @R16671
เหนือนหนูจะให้ข้อมูลไม่หมด อาจารย์อย่าว่าหนูนะ
มือใหม่แกะกล่องค่ะ ก็คอยอ่านๆที่พี่ๆเค้าถามๆอาจาร์กัน ฮ่าฮ่าฮ่า
หนูก็มีพิวส์ ID เป็น AutoRun นะค่ะ มีตารางชื่อ TB1 ค่ะ

ขอบคุณค่ะ
2 @R16672
หนูเข้าไปเจอฟังก์ชั่นมาค่ะ

Public Function Rec2(A As Variant) As Variant
    Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
If rst.RecordCount > 0 Then
rst.MoveLast
rst.MoveFirst
Else: Exit Function
End If
            Do Until rst.EOF
            If rst!A_NO = A Then
               Rec2 = rst.AbsolutePosition + 1
               Exit Function
              End If
            rst.MoveNext
            Loop
        rst.Close
        Set rst = Nothing
If Me.NewRecord Then GoTo Rec2_Exit
Rec2_Exit:
On Error Resume Next
rst.Close: Set rst = Nothing
End Function

ถามว่าใช้ได้หรือไม่ ใช้ได้ค่ะ แต่มันทำงานช้ามาก คือถ้ามีจำนวนมากกว่า 10 แถว
มันจะช้ามากต้องเอา Mouse ชี้ผ่านText1 มันถึงจะทะงานทันทีค่ะ
มีวิธีที่เขียนง่ายๆกว่านี้หรือไม่ค่ะ
คือความเข้าใจหนูว่าน่าจะมีวิธีที่รันง่ายๆกว่านี้ค่ะ แต่ดู Code ด้านบนโอ่โห
อาจารย์มีวิธีเขียนง่ายๆหรือไม่ค่ะ
ขอบคุณค่ะ
3 @R16673
อาจารย์ช่วยตอบหนูหน่อยค่ะ ให้กำลังใจก็ยังดี แง้ๆๆ
บ้านหนูไม่มีเนตค่ะ หนูต้องมาเล่นที่ร้าน ช่วยทำหรือแนะนำก็ได้ค่ะ
ที่ร้านก็มีแต่ผู้ชาย เสียงดัังโวยวาย ช่วยหนูทำหน่อยนะค่ะ

ขอบมากคุณค่ะอาจารย์
4 @R16674
ลองค้นหาคำว่า Running Number หรือ Running Sum ในกระทู้เก่าดูครับ
5 @R16675
Public Function Rec2(A As Variant) As Variant
    Dim rst As DAO.Recordset

    If Me.NewRecord Then exit function

    Set rst = Me.RecordsetClone
    rst.findfirst "A_NO = " & A
    if not rst.nomatch then Rec2 = rst.AbsolutePosition + 1
    rst.close
    set rst = Nothing
End Function
6 @R16686
ขอขอบคุณทุกท่านค่ะลืม มั่วแต่รีบไปทำต่อค่ะ
ได้แล้วค่ะตาม อาจารย์ . ค่ะ
แต่ยังไม่รู้ว่า Reccord เกิน100 แล้วมันจะช้าหรือเปล่าค่ะ

ขอบคุณค่ะ
7 @R16687
ช้าลงแน่นอนแต่แค่ไหนไม่รู้ อีกวิธีก็ต้องสร้างฟิลด์เก็บเลขรันในเทเบิลไปเลย แล้วตอนจะแสดง ก็ค่อยใส่ค่าลงในฟิลด์
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3267s