2012-05-10 46 views
0

我有一个查询作为表单的记录源,对于查询中的每一行都有一个链接表,其中有n行匹配该行,我想返回查询中每行的列表框中的所有n个匹配行中的一个字段。我如何实现过滤器,查询和链接表中的1字段之间应该有匹配?MS Access 2002为记录源查询中的每一行创建查询/表格

+0

您使用的数据表,单一的形式或连续形式?对于单个表单,这很容易,但是对于数据表和连续表单,这可能不是一个好主意。 – Fionnuala

+0

一个单一的形式.. – TWei

回答

0

您可以将列表框的行源设置为一个sql字符串。例如:

SELECT ID, AText FROM Table1 WHERE ID = Forms!Form1!ID 

数据的存储方式取决于绑定列和控制源。如果您不希望显示匹配列,在这种情况下,您可以设置列宽。您应该将列数设置为正确的列数。

Column Widths: 0;2.5 
Column Count: 2 

然后,您将不得不重新查询当前事件的列表框:

Private Sub Form_Current() 
Me.List1.Requery 
End Sub 
+0

thx本来对我来说真的很慢。连续形式,这是我真正需要的,我该怎么做?当您单击当前表单(期望第一行)时,将首先触发Current事件。组合框实例更新自己在这种情况下似乎不需要事件处理,textBoxes使用Me.txtBoxName = Replace(Me.txtBoxName,...)。在Access 2003中至少。 – TWei

+0

正如我在我的初步评论中所说的,这不是连续形式的好主意。以连续的形式,当前记录总是突出显示的记录,这意味着突出显示的记录适用于所有可见记录,这对用户来说是令人困惑的。最好使用连接两个表的合适查询来显示数据,然后提供一个按钮或类似的用于编辑的数据。 – Fionnuala