เริ่มทำฟอร์มสอบถามข้อมูล
ให้สร้างฟอร์มที่ Visual Studio ขึ้นมาใหม่ แล้วตั้งชื่อฟอร์มว่า frmInquiry จากนั้นให้สร้างคอนโทรลต่างๆ ตามภาพแล้วกำหนด property ดังนี้
ป้อนคำสั่งที่ frmInquiry.vb ดังนี้
Imports System.Data Imports System.Data.SqlClient Public Class frmInquiry ' ตัวแปรที่ใช้ใน Property [AssCode] Dim rAssCode As String = " " Private Sub frmInquiry_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load queryData() 'สลับสีของแถว DataGridView1.RowsDefaultCellStyle.BackColor = Color.White DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Azure With DataGridView1 .DefaultCellStyle.NullValue = "" .Columns(0).HeaderText = "รหัสสินทรัพย์" .Columns(0).Width = 100 .Columns(1).HeaderText = "รายการ" .Columns(1).Width = 200 .Columns(2).HeaderText = "หน่วยนับ" .Columns(2).Width = 80 End With End Sub Private Sub txtSearch_TextChanged(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles txtSearch.TextChanged queryData() End Sub Private Sub DataGridView1_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentDoubleClick Dim row As Integer = DataGridView1.CurrentCellAddress.Y AssCode = DataGridView1.Rows(row).Cells(0).Value 'Cell(0) คือ คอลัมแรกของกริดนับจากซ้ายมือ Me.Close() End Sub Sub queryData() 'ให้ทำการแก้ไข Connection String ตามที่เราใช้งานอยู่ Dim connString As String = "Data Source=.;Initial Catalog=ชื่อฐานข้อมูล;Persist Security Info=True;User ID=sa;Password=รหัสผ่าน" Dim myConn As SqlConnection = New SqlConnection myConn.ConnectionString = connString 'ให้แก้ไขคำสั่ง SQL ตามที่ต้องการ Dim da As SqlDataAdapter = New SqlDataAdapter _ ("SELECT TOP 50 ASSCODE, NAME, UMCODE FROM ABASSET WHERE ASSCODE+NAME LIKE '%" & txtSearch.Text.Trim & "%' ORDER BY ASSCODE", myConn) Dim ds As DataSet = New DataSet da.Fill(ds, "ABASSET") myConn.Close() DataGridView1.DataSource = ds.Tables(0) End Sub '' หากมีการส่งคืนหลายค่า ก็สร้าง Property เพิ่ม Public Property [AssCode]() As String Get Return Me.rAssCode End Get Set(ByVal value As String) Me.rAssCode = value End Set End Property End Classต่อมาเราจะมาทำฟอร์มหลัก สำหรับเรียกฟอร์มค้นหา
เริ่มทำฟอร์มหลัก
ที่ฟอร์ม Form1 ให้สร้างคอนโทรลต่างๆ ดังภาพ
จากนั้นทำการป้อนคำสั่งที่ form1.vb ดังนี้
Public Class Form1 Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click Dim fm As New frmInquiry() fm.ShowDialog() If fm.AssCode.ToString <> "" Then txtAssCode.Text = fm.AssCode.ToString 'อ้างถึง property ชื่อ [AssCode] ของฟอร์ม frmInquiry End If fm.Dispose() txtAssCode.Focus() End Sub End Classทำการเรียกฟอร์มขึ้นมาทำงาน โดยกดปุ่ม F5 เพื่อรันโปรเจกต์
เมื่อปร่กฎหน้าจอ Form1 ให้คลิกปุ่ม ... ที่ฟอร์ม แล้วทดสอบดู ตามตัวอย่างดังภาพ
2 ความคิดเห็น:
ขอบคุณมากสำหรับบทความนี้ค่ะ..มีประโยชน์กับตัวหนูมากเลย... กำลังทำโปรแจ็คพอดี ต้องขอบคุณที่ให้ความรู้นะค่ะ ^^
แสดงความคิดเห็น