我正在编写一个excel应用程序,它实质上是根据用户输入选择值。用户选择项目编号,然后可以从访问数据库中预先存在的工具类型列表中进行选择。但是,如果项目没有关联该工具,我不希望该工具显示在列表框中。例如,假设用户已选择项目编号15.此项目有3个工具,例如他们的名称是工具'A','C','D'。换句话说,工具B与该项目无关。
我正在查看两个不同的数据库表。一个表包含所有工具名称,并命名为ToolNames。另一个表包含列出项目关联的所有工具文件,它称为ToolFiles。因此,数据库中可能存在多个工具“C”的副本,这些副本随着其中的数据量而变化。
我真的需要根据用户的输入查询ToolNames表,可以在ToolFiles表中查看。获取项目编号,在ToolFiles数据库中查找工具,然后使用该项目编号填充工具的记录名称,然后查询ToolNames数据库并仅选择ToolFiles数据库中显示的工具名称。 ToolFiles数据库可以有多个可以有重复的工具名称。
这是我到目前为止的连接声明:
strSQL = "SELECT * " _
& "FROM ToolNames t " _
& "INNER JOIN ToolFiles f " _
& "ON t.ToolName = f.Tool_Name " _
& "WHERE f.Tool_Name = '" & theSelectedProjName & "' "
rs.Open strSQL ' , cn, 3, 3
其中ToolNames是我想要的值的表,ToolFiles是我要比较两个工具名称字段的表。
我知道这是一个复杂的问题,很难解释。如果有什么我可以澄清,请告诉我。提前谢谢!
答案 0 :(得分:0)
为什么不将ToolNames
加入ToolFiles
来查询数据库?类似的东西:
SELECT ToolName
FROM ToolNames t
INNER JOIN ToolFiles f
ON t.ToolID = f.ToolID
WHERE f.ProjectID = [ProjectID]