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 ++组合框控件不适用于多字节字符集

如何在Visual Basic 2012中使用mdb数据库中的数据填充列表框?

使用组合框将datagridview绑定到数据源

VBA(Visual Basic):ComboBox(表单控件) - 对象不支持此属性或方法