【问题标题】:Visual Basic- Using combo boxes to fill data from Access tables to text boxesVisual Basic - 使用组合框将 Access 表中的数据填充到文本框
【发布时间】:2015-10-19 13:26:25
【问题描述】:

我目前正在制作一个用于新“订单”数据输入的表单,并且想知道如何使用组合框从 Access 表中选择已填写的订单详细信息,以便将信息发送回用于审查或修改的文本框。

我可能没有很清楚地解释我想要什么,所以我在表格下方添加了一张图片(Gyazo 链接),正如您在顶部看到的那样,有组合框。如果从组合框中选择现有数据,我希望所有其他文本框都填充现有数据,但我一生都想不出我会怎么做。

https://gyazo.com/5e1c8df5311ce75c421bbe0e9c4ccd0a

非常感谢任何帮助,在此先感谢!

【问题讨论】:

    标签: vb.net ms-access combobox


    【解决方案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()
    

    我希望这会有所帮助,并且我明白你想要什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多