2013-10-16 49 views
0

這是場景。我有frmMain,它有一個btnDepts_Click事件。在同一個表單上,我有一個文本框txtCustomerActive。將文本框中的值傳遞給db

我第二次形式frmDepartments,我設置了ScalarQueryDepartments像這樣使用的DataGridView:

SELECT Customer, Dept, Name FROM Departments Where Customer = ? 

我的問題是,我該如何擺脫frmMain文本框我frmDepartments值形式,其中我的db是設置。我知道我可以在frmDepartments載入事件中執行txtDeptCustomer.Text = frmMain.txtCustomerActive.Text,但是如何捕獲該值以傳遞給db。我只是在frmDepartments中聲明一個變量並傳遞它?任何幫助新用戶將非常感激。由於

回答

1

關於第二個形式,宣佈公共財產名爲ID和一個構造函數來接受它:

Public Class Form2 

Public Property Id As Decimal 
    'Default constructor 
    Public Sub New() 

     InitializeComponent() 

    End Sub 

    'Id constructor 
    Public Sub New(ByVal id As Decimal) 
     InitializeComponent() 
     Me.Id = id 
    End Sub 

End Class 

關於第一個表格,您實例化的形式和分配值:

'Pass the desired value to the form2 constructor 
Dim form2 as new Form2(Cdec(txtDeptCustomer.Text)) 
form2.show() 

您也可以使用默認的構造函數並稍後分配屬性:

Dim form2 as new Form2() 
form2.Id = Cdec(txtDeptCustomer.Text) 
form2.show() 

Wh你的Form2被實例化,你將擁有它的價值。所以你可以訪問它,例如在負載事件:

Private Sub Form2_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    'here you use the value 
    Dim SqlComm as string ="SELECT Customer, Dept, Name " & _ 
     "FROM Departments Where Customer ='" & me.Id.tostring & "'" 
End Sub 
+0

卡洛斯或許我沒有讓自己很清楚,或者我不明白你的答案。我試圖做的是當按鈕被單擊時,將值從文本框傳遞給frmDepartments以查詢查詢。我正在使用此代碼捕捉我需要的值,但我現在如何使用該值查詢數據庫並僅在網格中顯示這些值。 Me.DepartmentsTableAdapter.Fill(Me.StorageDataSet3.Departments) Dim customer As Object = frmMain.txtCustomerActive.Text txtDeptCustomer.Text = CType(customer,String)謝謝 – user1532468

相關問題