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

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

[VB.NET] พื้นฐานการเขียนโปรแกรมแบบ CRUD ภาค 2 กับการใช้ ComboBox แสดงผลรายชื่อจังหวัด

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

311

กระทู้

502

โพสต์

6052

เครดิต

ผู้ดูแลระบบ

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

Rank: 9Rank: 9Rank: 9

เครดิต
6052


จากภาคแรก [VB.NET] พื้นฐานการเขียนโปรแกรมแบบ CRUD (Create, Read, Update, Delete) กับตัวอย่างฐานข้อมูลผู้ป่วย MS Access แอดมินนำเสนอการใช้ตารางข้อมูลแบบเดี่ยวๆเพื่อใช้ในการเก็บข้อมูล สำหรับในภาค 2 นี้ก็ยังคงเป็นการใช้แบบเดิมอยู่ แต่จะเพิ่มความสะดวกในการใช้งานให้กับผู้ใช้งานมากยิ่งขึ้น โดยให้สังเกตว่าข้อมูลที่มีโอกาสจะเกิดการคีย์ซ้ำๆได้ตลอดก็คือ ข้อมูลรายชื่อจังหวัด ซึ่งก่อนที่จะไปถึงวิธีการแยกตารางข้อมูลออกจากกันนั้น แอดมินจะยังคงใช้ข้อมูลในตารางเดิมนี่แหละ แต่เราใช้การตัดรายชื่อจังหวัดที่ซ้ำๆกันเพื่อให้เหลืออยู่ชื่อเดียว โดยเราใช้คำสั่ง DISTINCT ...
  1. SELECT DISTINCT Patient.ProvinceName
  2. FROM Patient;
คัดลอกไปที่คลิปบอร์ด


โค้ดในการโหลดรายชื่อจังหวัดเข้ามายัง ComboBox Control ...
  1.     ' / --------------------------------------------------------------------------------
  2.     ' / นำรายชื่อจังหวัดโดยตัดค่าซ้ำให้เหลือค่าเดียว มาแสดงผลใน ComboBox
  3.     Public Sub PopulateComboBox()
  4.         Try
  5.             If Conn.State = ConnectionState.Closed Then Conn.Open()
  6.             Dim strStmt As String = "SELECT DISTINCT ProvinceName FROM Patient ORDER BY ProvinceName "
  7.             DA = New OleDbDataAdapter(strStmt, Conn)
  8.             Dim DT As New DataTable
  9.             DA.Fill(DT)
  10.             '/ Display the name
  11.             cmbProvince.DisplayMember = "ProvinceName"
  12.             cmbProvince.DataSource = DT
  13.             With cmbProvince
  14.                 .DropDownStyle = ComboBoxStyle.DropDown
  15.                 .AutoCompleteMode = AutoCompleteMode.Suggest
  16.                 .AutoCompleteSource = AutoCompleteSource.ListItems
  17.             End With
  18.             DA.Dispose()
  19.             Conn.Close()
  20.             cmbProvince.Enabled = True
  21.         Catch ex As Exception
  22.             MessageBox.Show(ex.Message)
  23.         End Try
  24.     End Sub
คัดลอกไปที่คลิปบอร์ด

เวลาที่ต้องการแสดงผลข้อมูลชื่อจังหวัด ก็นำค่าในตารางข้อมูลมาให้กับ ComboBox ... (จากโปรแกรมย่อย dgvData_DoubleClick)
  1.             cmbProvince.Text = "" & .Rows(0)("ProvinceName").ToString()
คัดลอกไปที่คลิปบอร์ด
ส่วนของการบันทึกข้อมูลก็ไม่มีอะไร ทำเหมือนกับการจัดการแบบ TextBox โดยที่ไม่ต้องมีการเช็คค่าซ้ำใดๆเลย ... แต่แอดมินขอส่งท้ายด้วยคำถามว่า หากมีข้อมูลที่ต้องการแสดงผลใน ComboBox หลายๆตัวจะแก้ไขโค้ดให้เป็นฟังค์ชั่น หรือ คลาสได้อย่างไร???

Conclusion: ขอสรุปสั้นๆ เมื่อเราเขียนโปรแกรมด้วยความยากขึ้น ก็จะทำให้ Users ใช้งานได้ง่ายมากขึ้นเท่านั้นครับ ... แต่ทั้งนี้ทั้งนั้นมันก็ยังเกิดความซ้ำซ้อนของข้อมูล ซึ่งเราจะต้องทำการแยกข้อมูลในลักษณะนี้ไปไว้ในตารางย่อยก่อน เช่น ตารางหน่วยนับ ตารางตำแหน่ง หรือตารางแผนก เป็นต้น ... สวัสดี
ดาวน์โหลดโค้ดต้นฉบับแบบเต็ม VB.NET (2010) ได้ที่นี่

ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

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

0

กระทู้

13

โพสต์

40

เครดิต

Newbie

Rank: 1

เครดิต
40
โพสต์ 2019-12-9 09:38:14 | ดูโพสต์ทั้งหมด

ขอบคุณความรู้ดีๆ ที่แบ่งปันครับ

0

กระทู้

58

โพสต์

10

เครดิต

Member

Rank: 2

เครดิต
10
โพสต์ 2022-10-25 15:41:00 | ดูโพสต์ทั้งหมด

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

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

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

GMT+7, 2024-4-26 03:24 , Processed in 0.121495 second(s), 4 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

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