|
จากภาคแรก [VB.NET] พื้นฐานการเขียนโปรแกรมแบบ CRUD (Create, Read, Update, Delete) กับตัวอย่างฐานข้อมูลผู้ป่วย MS Access แอดมินนำเสนอการใช้ตารางข้อมูลแบบเดี่ยวๆเพื่อใช้ในการเก็บข้อมูล สำหรับในภาค 2 นี้ก็ยังคงเป็นการใช้แบบเดิมอยู่ แต่จะเพิ่มความสะดวกในการใช้งานให้กับผู้ใช้งานมากยิ่งขึ้น โดยให้สังเกตว่าข้อมูลที่มีโอกาสจะเกิดการคีย์ซ้ำๆได้ตลอดก็คือ ข้อมูลรายชื่อจังหวัด ซึ่งก่อนที่จะไปถึงวิธีการแยกตารางข้อมูลออกจากกันนั้น แอดมินจะยังคงใช้ข้อมูลในตารางเดิมนี่แหละ แต่เราใช้การตัดรายชื่อจังหวัดที่ซ้ำๆกันเพื่อให้เหลืออยู่ชื่อเดียว โดยเราใช้คำสั่ง DISTINCT ...
- SELECT DISTINCT Patient.ProvinceName
- FROM Patient;
คัดลอกไปที่คลิปบอร์ด
โค้ดในการโหลดรายชื่อจังหวัดเข้ามายัง ComboBox Control ...
- ' / --------------------------------------------------------------------------------
- ' / นำรายชื่อจังหวัดโดยตัดค่าซ้ำให้เหลือค่าเดียว มาแสดงผลใน ComboBox
- Public Sub PopulateComboBox()
- Try
- If Conn.State = ConnectionState.Closed Then Conn.Open()
- Dim strStmt As String = "SELECT DISTINCT ProvinceName FROM Patient ORDER BY ProvinceName "
- DA = New OleDbDataAdapter(strStmt, Conn)
- Dim DT As New DataTable
- DA.Fill(DT)
- '/ Display the name
- cmbProvince.DisplayMember = "ProvinceName"
- cmbProvince.DataSource = DT
- With cmbProvince
- .DropDownStyle = ComboBoxStyle.DropDown
- .AutoCompleteMode = AutoCompleteMode.Suggest
- .AutoCompleteSource = AutoCompleteSource.ListItems
- End With
- DA.Dispose()
- Conn.Close()
- cmbProvince.Enabled = True
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
- End Sub
คัดลอกไปที่คลิปบอร์ด
เวลาที่ต้องการแสดงผลข้อมูลชื่อจังหวัด ก็นำค่าในตารางข้อมูลมาให้กับ ComboBox ... (จากโปรแกรมย่อย dgvData_DoubleClick)
- cmbProvince.Text = "" & .Rows(0)("ProvinceName").ToString()
คัดลอกไปที่คลิปบอร์ด ส่วนของการบันทึกข้อมูลก็ไม่มีอะไร ทำเหมือนกับการจัดการแบบ TextBox โดยที่ไม่ต้องมีการเช็คค่าซ้ำใดๆเลย ... แต่แอดมินขอส่งท้ายด้วยคำถามว่า หากมีข้อมูลที่ต้องการแสดงผลใน ComboBox หลายๆตัวจะแก้ไขโค้ดให้เป็นฟังค์ชั่น หรือ คลาสได้อย่างไร???
Conclusion: ขอสรุปสั้นๆ เมื่อเราเขียนโปรแกรมด้วยความยากขึ้น ก็จะทำให้ Users ใช้งานได้ง่ายมากขึ้นเท่านั้นครับ ... แต่ทั้งนี้ทั้งนั้นมันก็ยังเกิดความซ้ำซ้อนของข้อมูล ซึ่งเราจะต้องทำการแยกข้อมูลในลักษณะนี้ไปไว้ในตารางย่อยก่อน เช่น ตารางหน่วยนับ ตารางตำแหน่ง หรือตารางแผนก เป็นต้น ... สวัสดี
ดาวน์โหลดโค้ดต้นฉบับแบบเต็ม VB.NET (2010) ได้ที่นี่
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|