2015-10-19 24 views
0

我目前做的形式,是新的「訂單」數據錄入,並想知道我怎麼可以使用組合框中選擇一個已經填滿從出來,這樣的信息被髮送回文本框進行審查或修改Access表訂單詳細信息。視覺Basic-使用下拉框,從Access表填寫數據,文本框

我可能沒有解釋什麼,我想的很清楚,所以我有下面的表格中添加圖片(Gyazo鏈接),你可以在有組合框頂部看到。我想,如果是從下拉框中選擇所有其他文本框來填充現有的數據,但對我的生活無法想象我會怎麼做。

https://gyazo.com/5e1c8df5311ce75c421bbe0e9c4ccd0a

任何幫助是極大的讚賞,在此先感謝!

回答

1

後面的代碼中,你將不得不使用組合框的「的SelectedIndexChanged」事件。在該功能中,您可以將文本框文本更改爲任何您喜歡的內容。例如,如果我們有一個名爲cmbTest COMBOX並呼籲txtTest文本框:

Private Sub cmbTest_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbTest.SelectedIndexChanged 
    txtTest.Text = "whatever text you want" 
End Sub 

你可以使用select statment決定使用基於組合框例如什麼文本:

Private Sub cmbTest_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbTest.SelectedIndexChanged 

    Select Case cmbTest.SelectedIndex 
     Case 1 
      txtTest.Text = "The Selected index is 1" 
     Case 2 
      txtTest.Text = "The Selected index is 2" 
     Case 3 
      txtTest.Text = "The Selected index is 3" 
    End Select 

End Sub 

你可以做這些方針的東西來訪問訪問數據庫中的數據(很明顯,你需要與你有你的Access數據庫的任何表/列,以取代SQL語句):

Dim dt As New DataTable 
    Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\PATH_TO_MDB_FILE\db1.mdb;") 

    Try 

     cn.Open() 
     Dim Str As String = "SELECT * FROM yourTableName WHERE columnName = '" & ComboBox1.SelectedValue.ToString & "'" ' Or whatever SQL statement you want 
     Dim cmd As New OleDbCommand(Str, cn) 
     dt.Load(cmd.ExecuteReader()) 
    Catch 
     'handle error 
    End Try 
    cn.Close() 

然後,您可以使用數據表來訪問文本放入文本框e.g:

txtTest.Text = dt.Rows(0).Item("ColumnName").ToString() 

我希望幫助,而且我明白你想要什麼。

相關問題