Visual Basic - 使用组合框将 Access 表中的数据填充到文本框
Posted
技术标签:
【中文标题】Visual Basic - 使用组合框将 Access 表中的数据填充到文本框【英文标题】:Visual Basic- Using combo boxes to fill data from Access tables to text boxes 【发布时间】:2015-10-19 13:26:25 【问题描述】:我目前正在制作一个用于新“订单”数据输入的表单,并且想知道如何使用组合框从 Access 表中选择已填写的订单详细信息,以便将信息发送回用于审查或修改的文本框。
我可能没有很清楚地解释我想要什么,所以我在表格下方添加了一张图片(Gyazo 链接),正如您在顶部看到的那样,有组合框。如果从组合框中选择现有数据,我希望所有其他文本框都填充现有数据,但我一生都想不出我会怎么做。
https://gyazo.com/5e1c8df5311ce75c421bbe0e9c4ccd0a
非常感谢任何帮助,在此先感谢!
【问题讨论】:
【参考方案1】:在后面的代码中,您必须使用组合框的“SelectedIndexChanged”事件。在该函数中,您可以将文本框文本更改为您喜欢的任何内容。例如,如果我们有一个名为 cmbTest 的组合框和一个名为 txtTest 的文本框:
Private Sub cmbTest_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbTest.SelectedIndexChanged
txtTest.Text = "whatever text you want"
End Sub
您可以使用 select 语句根据组合框来决定要使用的文本,例如:
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 语句替换为您在 access db 中拥有的任何表/列):
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()
然后您可以使用数据表访问要放入文本框的文本,例如:
txtTest.Text = dt.Rows(0).Item("ColumnName").ToString()
我希望这会有所帮助,并且我明白你想要什么。
【讨论】:
以上是关于Visual Basic - 使用组合框将 Access 表中的数据填充到文本框的主要内容,如果未能解决你的问题,请参考以下文章
将电子表格 (OpenOffice) 导入 Visual Basic .net 组合框
如何将 Visual Basic 6 组合框与 Microsoft Access 2007 表中的字段链接
Visual Studio C ++组合框控件不适用于多字节字符集