ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 3275|ตอบกลับ: 2

VB6 - แสดงข้อมูลตามต้องการ

[คัดลอกลิงก์]

13

กระทู้

46

โพสต์

327

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
327

แก้ไขครั้งสุดท้ายโดย my2alee เมื่อ 2022-1-13 15:42

ต้องการแสดงข้อมูลจาก mysql database ตามรูป ขอแนวหน่อยครับ
ส่วนการเชื่อมต่อและดึงข้อมูลได้ทำไว้เรียบร้อยแล้วแต่ไม่มีแนวให้แสดงข้อมูลตามรูปครับ


vb6.PNG

320

กระทู้

512

โพสต์

6583

เครดิต

ผู้ดูแลระบบ

ทองก้อน ทับทิมกรอบ

Rank: 9Rank: 9Rank: 9

เครดิต
6583
โพสต์ 2022-1-17 13:52:19 | ดูโพสต์ทั้งหมด

การคำนวณหาหลัก ก็ไม่ยากอะไรครับ ใช้จำนวนข้อมูลมาหารเอาเศษด้วย 3 จะได้คำตอบออกมา 3 ชุดหรือหลัก คือ 0, 1 และ 2 ผมทำตัวอย่างไว้ให้โดยสร้าง TextBox ขึ้นมาตัวนึงก่อน โดยกำหนดค่า Index = 0 (หากสร้างด้วยโค้ดแบบ Run Time ต้องมากำหนดระยะความกว้างสูงและตำแหน่งใหม่) รายละเอียดก็อยู่ในโค้ดนั่นแหละครับ ...


  1. Option Explicit

  2. ' เก็บค่า Index ของ Control Array
  3. Private CtrlIndex As Integer

  4. Private Sub Form_Load()
  5.     Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
  6.    
  7.     ' ปกติวิธีการสร้าง TextBox Control Array ลงบนฟอร์ม
  8.     ' 1. สร้าง TextBox ต้นแบบออกมาไว้ก่อน 1 ตัว และตั้งค่าคุณสมบัติ
  9.     '     - Name = CtrlTextBox
  10.     '     - Index = 0
  11.     ' 2. คัดลอก หรือ Copy Control แล้ววาง (Paste) ลงบนฟอร์ม
  12.    
  13.     ' เราก็จะใช้วิธีการเดียวกันนั่นแหละครับ เพียงแต่ใช้ Code สั่งงานในขณะ Run Time แทน
  14.     ' การโหลด Form หรือ Control เข้าสู่หน่วยความจำ ... เราใช้คำสั่ง LOAD
  15.     ' กำหนด Index ของ CommandButton Control ตัวแรกเท่ากับ 0
  16.     CtrlIndex = 0
  17.     ' ข้อมูลตัวอย่างใน TextBox Control
  18.     CtrlTextBox(0).Text = CtrlTextBox(0).Name & " index " & CtrlTextBox(0).Index
  19.    
  20.     ' เพิ่ม CommandButton อีก 16 ตัว
  21.     Call AddControl(16)

  22. End Sub

  23. ' / --------------------------------------------------------------------------------------------------
  24. ' โปรแกรมย่อยที่ใช้ในการเพิ่ม TextBox Control ตามจำนวนที่กำหนด แบบ Run Time
  25. ' / --------------------------------------------------------------------------------------------------
  26. Private Sub AddControl(NumOfControl As Integer)
  27. Dim Count As Integer
  28.    
  29.     For Count = 1 To NumOfControl
  30.         
  31.         ' คำสั่ง Load คือ การโหลด Form หรือ Control เข้าสู่หน่วยความจำ
  32.         ' การใช้คำสั่งนี้ ก็จะเหมือนกับการคัดลอก และ วาง Control ลงบนฟอร์มนั่นเอง
  33.         ' และเพิ่มจำนวนค่าของ Index ขึ้นอีก 1 ... เพราะมันเป็น Array ไงล่ะครับ
  34.         CtrlIndex = CtrlIndex + 1
  35.         Load CtrlTextBox(CtrlIndex)
  36.    
  37.         With CtrlTextBox(CtrlIndex)
  38.             ' จัดตำแหน่งของ Control ... เลขจำนวนเต็มหาก Mod ด้วย 3 จะได้ค่าที่เป็นเศษคือ 0, 1 และ 2 เพื่อกำหนดจำนวน 3 หลัก
  39.             Select Case (Count Mod 3)
  40.                 Case 0
  41.                     .Left = 900
  42.                     .Top = CtrlTextBox(CtrlIndex - 1).Top + _
  43.                                 CtrlTextBox(CtrlIndex - 1).Height + 60
  44.                
  45.                 Case 1
  46.                     .Left = CtrlTextBox(CtrlIndex - 1).Left + _
  47.                                 CtrlTextBox(CtrlIndex - 1).Width + 60
  48.                     .Top = CtrlTextBox(CtrlIndex - 1).Top
  49.                
  50.                 Case 2
  51.                     .Left = CtrlTextBox(CtrlIndex - 1).Left + _
  52.                                 CtrlTextBox(CtrlIndex - 1).Width + 60
  53.                     .Top = CtrlTextBox(CtrlIndex - 1).Top
  54.             End Select
  55.             
  56.             .Visible = True
  57.             ' ตัวอย่างการโหลดข้อมูลใน TextBox Control
  58.             CtrlTextBox(Count).Text = CtrlTextBox(Count).Name & _
  59.                                                                             " index " & CtrlTextBox(Count).Index
  60.         End With
  61.     Next

  62. End Sub

  63. ' ==========================================================
  64. ' เหตุการณ์ชองการคีย์ใน TextBox Control
  65. ' ==========================================================
  66. Private Sub CtrlTextBox_KeyPress(Index As Integer, KeyAscii As Integer)
  67.     ' นำไปประยุกต์กันต่อเองล่ะกันครับ ... พี่น้อง
  68.     If KeyAscii = 13 Then
  69.         '// ปิดเสียง Beep
  70.         KeyAscii = 0
  71.         MsgBox "You press TextBox Control Index = " & Index
  72.     Else
  73.         '// DO SOMETHING
  74.     End If
  75. End Sub
คัดลอกไปที่คลิปบอร์ด
CreateTextBox.png

CreateTextBox.zip

3.01 KB, ดาวน์โหลดแล้ว: 8343

สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด

13

กระทู้

46

โพสต์

327

เครดิต

Full Member

Rank: 3Rank: 3

เครดิต
327
 เจ้าของ| โพสต์ 2022-1-19 13:51:50 | ดูโพสต์ทั้งหมด

thongkorn ตอบกลับเมื่อ 2022-1-17 13:52
การคำนวณหาหลัก ก็ไม่ยากอะไรครับ ใช้จำนวนข้อมูลมาหาร ...

ขอบคุณมากครับ อ. / จะได้นำไปประยุกต์ใช้ตามงานที่ต้องการ
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-11-27 21:24 , Processed in 0.237353 second(s), 5 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้