选择 4 个值以从其他列返回一个值

Posted

技术标签:

【中文标题】选择 4 个值以从其他列返回一个值【英文标题】:Pick 4 values to return a value from other column 【发布时间】:2014-07-22 13:37:39 【问题描述】:

我有一个场景,用户必须从每个下拉列表中选择 4 个值。如果所有这些值都与数据库/表中的值匹配(超过 100 行)。它将在文本框上返回结果。请看下面的草图,我使用的是 VB。感谢您的帮助。

产品|col1|col2|col3|col4

苹果 |1 |2 |3 |4

葡萄 |2 |4 |4 |6

橙色 |1 |3 |5 |7

从下拉列表中选择

下拉菜单1:1

下拉菜单2:2

下拉菜单3:3

下拉菜单4:4

文本框:苹果。

【问题讨论】:

我已经尝试过 user7777 提到的 if 。但是,这仅适用于特定数据。表有 100 多条记录。如果我使用每一个 if,那会很痛苦。你有什么建议吗? 【参考方案1】:

正如 Mych 所说,数据在您的数据库中,因此您只需查询您的数据库并找到与不同列匹配的产品。

在 vb.net 中有很多方法可以从您的数据库中获取信息。 这是一个如何完成的示例:

Using conn as New SqlConnection("ConnectionStringToDatabase")
    conn.Open()
    Using cmd as New SqlCommand("your_query", conn)
       Dim reader as SqlDataReader = cmd.ExecuteReader
       If reader.HasRows Then
           reader.Read
           textbox1.Text = reader("product")
       End If
       reader.Close()
    End Using
End Using

在哪里导入以下内容: System.Data.SqlClient

您的查询也与 Mych 建议的类似:

"Select Distinct product from MyDataTable Where Col1 = " & dropdown1.SelectedValue &
" AND Col2 = " & dropdown2.SelectedValue & " AND Col3 =" & dropdown3.SelectedValue &
" AND Col4 =" & dropdown4.SelectedValue

【讨论】:

这对我来说是个好方法。不幸的是,我的地方使用的是老式学校风格。他们正在使用 Access 数据库并在 Access 中创建一个表单。很抱歉一开始没有提到。 您必须研究如何连接到 Access 数据库。你现在知道怎么做,现在你只需要正确的语法。如果您仍然遇到问题,请使用代码和您的努力更新您的问题。那我可以帮你更多。 D 查询运行良好。从其他 4 个 cbbox 中挑选后,我有一个组合框 5 来显示最终值。我将 d 查询放在 combobox5 的 Property\Row Source 中。如果我们从 4 列手动输入正确的 4 个不同的值,它确实有效。但是,它会提示一个窗口从用户那里获取输入,而不是从其他组合框获取值。我使用查询: SELECT product FROM producttbl WHERE col1 = cbo1.SelectedValue AND col2= Cbo2.SelectedValue AND col3= Cbo3.SelectedValue AND col4= Cbo4.SelectedValue;如何从其他 cbbox 中获取 d 值而不是提示输入参数的窗口? 提示是什么意思?您是否像上面的查询一样使用引号和 & ?并且请使用“the”而不是“d”,以便于阅读。 我将该查询放入行源并运行应用程序。当用户单击组合框时,它会弹出一个小窗口询问“输入参数值”。我不使用 & 因为行源不带 &。如果用户手动将值输入“输入参数值”,这确实有效文本框。但是,我希望用户从组合框中选择值,而不是手动输入文本框。【参考方案2】:

你说数据在数据库中......

创建一个 Select 语句来查找行...

Select from MyDataTable Product Where Col1 = dropdown1.SelectedValue 
AndAlso Col2 = dropdown2.SelectedValue AndAlso Col3 = dropdown3.SelectedValue 
AndAlso Col4 = dropdown4.SelectedValue

【讨论】:

以上是关于选择 4 个值以从其他列返回一个值的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的属性中获取两个值以返回到我的main方法?

Pandas:仅当特定列中的值以开头时才选择数据框行

将浮点值存储在数组中,并分析最后 20 个值以在 C++ 中检查

选择条件列但获取子查询返回超过 1 个值

如何使用 case 语句中的函数返回值以选择每个函数的 MAX?

Excel - 在表中查找值以返回第 n 列值