อยากกำหนดรูปแบบของข้อมูลจากโค๊ด
กระทู้เก่าบอร์ด อ.Yeadram

 1,142   3
URL.หัวข้อ / URL
อยากกำหนดรูปแบบของข้อมูลจากโค๊ด

อยากกำหนดรูปแบบของข้อมูลจากโค๊ด     
     
ตัวอย่าง : มี text box ที่ ฟอร์ม ต้องการกำหนดรูปแบบโดย     
     1.รับข้อมูลได้เฉพาะ ตัวเลข
     2.ขนาดไม่เกิน 10 อักขระ เท่านั้น
     3.กรณีที่ใส่ข้อมูลไม่ถึง 10 หลัก จะต้องไม่รับค่าจนกว่าจะถึง 10 หลัด
     4.และแบบ กำหนดไว้ที่ 10 อักขระ แต่สามารถรับข้อมูลแม้ไม่ถึง 10 อักขระได้
     
     อยากได้เป็นโค๊ดครับ รบกวนอาจารย์ด้วยครับ

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

1 @R17029
ใช้ input mask ครับ ไม่ต้องเขียน code ลอง search หา หรือ อ่าน help ดูครับ
2 @R17034
ก่อนอื่นผมบอกก่อนเลยว่าใช้ input mask อย่างที่ อ.PichaiTC แนะนำง่ายสุดแล้วครับ เป็นผมๆก็จะไม่เสียเวลามานั่งเขียนโค๊ดอะไรแบบนี้ เพราะจริงๆหากใช้เป็นโค๊ดมันต้องใช้หลาย Event ในการตรวจสอบ ทำให้เสียเวลามากๆ และก็ไม่รู้จะดีเท่ากับการใช้ input mask หรือเปล่าด้วยซ้ำ
แต่หากคุณถามเพื่อความรู้ และการนำไปต่อยอดอย่างอื่นๆแล้ว ผมก็พอจะตอบเป็นข้อๆให้คุณได้ดังนี้ครับ
สมมุติ Textbox คุณชื่อ Text1

1.รับข้อมูลได้เฉพาะ ตัวเลข
2.ขนาดไม่เกิน 10 อักขระ เท่านั้น
ตอบข้อ 1 และ 2
- Text1 > Event > On Key Press

    If (KeyAscii < 47 Or KeyAscii > 58) And KeyAscii <> 8 Then
        KeyAscii = 0
    Else
        If Me.Text1.SelStart > 9 Then 'หากเคอร์เซอร์อยู่ที่ตำแหน่ง 10 แล้วก็ไม่สามารถคีย์ต่อได้
            KeyAscii = 0
        End If
    End If


3.กรณีที่ใส่ข้อมูลไม่ถึง 10 หลัก จะต้องไม่รับค่าจนกว่าจะถึง 10 หลัด
- Text1 > Event > Before Update

    If Len(Me.Text1) <> 10 Then
        Cancel = True
    End If


4.และแบบ กำหนดไว้ที่ 10 อักขระ แต่สามารถรับข้อมูลแม้ไม่ถึง 10 อักขระได้
- Text1 > Event > Before Update
    If Len(Me.Text1) > 10 Then
        Cancel = True
    End If


ปล. นี่ยังใช้ไม่ได้จริงนะครับ เพราะยังไม่มีเรื่องของการแก้ไข จากโค๊ดหากเราทำการเลื่อนเคอร์เซอร์ไปเพื่อแก้เลข มันก็จะเกิน 10 หลักได้ ซื่อเราก็ต้องไปเขียนโค๊ดดักที่เหตุการณ์อื่นๆอีก ซึ่งผมขอยกตัวอย่างแค่นี้พอนะครับ ถ้าอยากเขียนเป็น VBA จริงๆ คงต้องลองต่อยอดเองดูครับ
3 @R17045
ขอบคุณมากครับผม
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2961s