ผมส่งค่า จาก form Main มาที่ form Edit ได้แล้ว และใช้ค่าที่ส่งมา มาเป็นเงื่อนไข where ในคำสั่ง sql เพื่อที่จะนำข้อมูลมาแสดงใน textbox แต่ละช่อง แต่ข้อมูลไม่ขึ้นครับ
ตำแหน่ง A คือค่าที่จะส่งไปยัง form Edit
ตำแหน่ง B คือส่วนที่ดึงค่ามาจาก form Main และจะนำ lebel นี้เข้าไป where ในคำสั่ง sql
***โค้ดใน form Edit ที่จะนำข้อมูลไปแสดงใน textbox ต่างๆครับ***
Code (VB.NET)
Imports System.Data.OleDb
Imports System.Data
Public Class frmEdit
Private Sub frmEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim objConn As New OleDbConnection
Dim objCmd As New OleDbCommand
Dim dtAdapter As OleDbDataAdapter
Dim dt As New DataTable
Dim strConnString, strSQL As String
strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\database.accdb;"
objConn.ConnectionString = strConnString
objConn.Open()
Me.lbl_Id.Text = frmMain.txt_id 'ใช้ดึงข้อมูลมาจากอีกฟอร์ม
strSQL = "SELECT * FROM member WHERE CustomerID = '" & Me.lbl_Id.Text & "' "
dtAdapter = New OleDbDataAdapter(strSQL, objConn)
dtAdapter.Fill(dt)
If dt.Rows.Count > 0 Then
Me.txtUsername.Text = dt.Rows(0)("Username")
Me.txtName.Text = dt.Rows(0)("Name")
Me.txtEmail.Text = dt.Rows(0)("Email")
Me.txtCountry.Text = dt.Rows(0)("CountryCode")
Me.txtBudget.Text = dt.Rows(0)("Telephone")
Me.txtUsed.Text = dt.Rows(0)("Sex")
Me.DateTimePicker1.Value = dt.Rows(0)("DOB")
End If
objConn.Close()
objConn = Nothing
End Sub
End Class
Tag : .NET, Ms Access, VBScript, VB.NET, VS 2012 (.NET 4.x), Windows
Imports System.Data.OleDb
Imports System.Data
Public Class frmEdit
Private _strCustomerID As String = String.Empty
Public Sub New(ByVal strCustomerID As String)
' This call is required by the designer.
InitializeComponent()
_strCustomerID = strCustomerID
End Sub
Private Sub frmEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim objConn As New OleDbConnection
Dim objCmd As New OleDbCommand
Dim dtAdapter As OleDbDataAdapter
Dim dt As New DataTable
Dim strConnString, strSQL As String
strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\database.accdb;"
objConn.ConnectionString = strConnString
objConn.Open()
strSQL = "SELECT * FROM member WHERE CustomerID = '" & _strCustomerID & "' "
dtAdapter = New OleDbDataAdapter(strSQL, objConn)
dtAdapter.Fill(dt)
If dt.Rows.Count > 0 Then
Me.txtUsername.Text = dt.Rows(0)("Username")
Me.txtName.Text = dt.Rows(0)("Name")
Me.txtEmail.Text = dt.Rows(0)("Email")
Me.txtCountry.Text = dt.Rows(0)("CountryCode")
Me.txtBudget.Text = dt.Rows(0)("Telephone")
Me.txtUsed.Text = dt.Rows(0)("Sex")
Me.DateTimePicker1.Value = dt.Rows(0)("DOB")
End If
objConn.Close()
objConn = Nothing
End Sub
End Class
ตอนที่คุณ New Form จะต้องส่งมันมาด้วยครับ เช่น
Code
Dim frm As New frmEdit(txt_id.Text)
frm.Show()
Me.Hide()