Ms access 2007 选择4个值以从其他列返回值

Ms access 2007 选择4个值以从其他列返回值,ms-access-2007,Ms Access 2007,我有一个场景,用户必须从每个下拉列表中选择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 文本框:苹果 只需使用IfStatement。例如: If ComboBox1.Se

我有一个场景,用户必须从每个下拉列表中选择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

文本框:苹果


只需使用
IfStatement
。例如:

If ComboBox1.SelectedItem = "1" And [...] Then
     TextBox.Text = "Apple"
End If

你说数据在数据库里

制作Select语句以查找行

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

正如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

我有100多行和长数据。这些数据将在将来添加更多。这将是一个巨大的声明。有没有一种方法可以让我们设置一些变量,它可以扫描列和行,然后返回结果?
Dim
一个变量,然后将它分配给数据中的一个值。我考虑过这个问题。我们如何定义这4个变量是否都在同一行?所以,它可以在该行上产生正确的结果?例如:将尺寸a、b、c、d设置为字符串。dim e作为结果,我们如何设置a、b、c、d在第1行,以获得苹果的结果?我已经尝试了用户7777提到的if。但是,这仅适用于特定数据。表中有100多条记录。如果我使用每一个if,那将是痛苦的。你有什么建议吗?这对我来说是个好办法。不幸的是,我住的地方用的是老式的学校风格。他们正在使用Access数据库并在Access中创建表单。很抱歉在开头没有提到。您必须研究如何连接到Access数据库。你现在知道怎么做了,现在你只需要正确的语法。如果您仍然有问题,请使用代码和您的努力更新您的问题。然后我可以帮你更多。D查询工作得很好。我有一个combobox5来显示从其他4个CBBox中选择后的最终值。我将d查询放在combobox5的属性\行源中。如果我们从4列中手动输入正确的4个不同值,它确实可以工作。但是,它会提示窗口从用户处获取输入,而不是从其他组合框获取值。我使用查询:从producttbl中选择产品,其中col1=cbo1.SelectedValue,col2=Cbo2.SelectedValue,col3=Cbo3.SelectedValue,col4=Cbo4.SelectedValue;如何从其他CBBox中获取d值,而不是提示窗口输入参数?提示是什么意思?您是否像上面的查询那样使用引号和(&D)?请使用“the”而不是“d”,这样更容易阅读。我将该查询放入行源代码并运行应用程序。当用户单击combobox时,它会弹出一个小窗口,要求输入参数值”。我不使用&因为行源不接受&。如果用户手动将值输入到“输入参数值”文本框中,这会起作用。但是,我希望用户从combobox中选择值,而不是手动输入文本框。