0

在我的 Access 数据库中,我正在尝试执行非常复杂的搜索和查找例程。基本上,我在这四个表中要查找 4 个标准:日期、服务、代码和功能。

有了这些信息,我进入一个表格,并在一个字段中搜索一个标准。在找到对应于 4 个条件之一的行后,我为所有正确匹配的行保存相邻字段的值。在此之后,我想将所有相邻字段的值保存为一个数组。然后重复这些步骤,我打算将所有 4 个搜索保存为 4 个单独的数组。

我的表的关系如下:

表关系

我收到一个“需求”,它是一个请求,该请求中有四个标准:日期、服务、代码和功能。

在“Services_YES”表中,我查找与需求对应的服务。

在“Pool_Personnel”表中,我查找需求相对应的功能。

在“Days_Available”表中,我查找与需求相对应的日期代码(称为 Code_Horaire)。

从那里,我希望为找到的所有结果记录每个 Code_Personal,然后在所有 3 个表中找到匹配的 Code_Personal。


所以我的问题:

我如何进行搜索和查找函数,该函数为与条件行对应的所有代码创建一个数组?

我创建了伪代码来帮助解释,以防有人可以将其翻译成真正的 VBA:

While demandeTable.functionField.Value = poolpersonnelTable.Fonction1Field.Value
  get all poolpersonnelTable.codepersonalField.Value for all rows that match
  save fonctionArray = codepersonalField.Values
Loop

我非常坚持如何完成这种“过滤”,并非常感谢所有帮助。

4

1 回答 1

0

使用 VBA 不是答案。

我最终创建了一个查询,并使用用户输入的文本来填写查询的可变部分:

comboService = Chr(34) & Me.Combo8.Value & Chr(34)
txtDate = Chr(34) & Me.Text15.Value & Chr(34)
comboCodeHoraire = Chr(34) & Me.Combo17.Value & Chr(34)

"SELECT tblPoolPersonnel.LName, tblPoolPersonnel.FName, tblPoolPersonnel.[Tel Natel], tblPoolPersonnel.[Tel Home], tblPoolPersonnel.Email" & vbCrLf
"FROM ((tblPoolPersonnel INNER JOIN tblFonction ON tblPoolPersonnel.Code_Personal = tblFonction.Code_Personel) INNER JOIN tblDayAvailable ON tblPoolPersonnel.Code_Personal = tblDayAvailable.Code_Personal) INNER JOIN tblServiceYES ON tblPoolPersonnel.Code_Personal = tblServiceYES.Code_Personal" & vbCrLf
"WHERE (((tblServiceYES.Service)=" & comboService & ") AND " + _
                "((tblDayAvailable.Availability)=True) AND " + _
                "((tblDayAvailable.Date)=" & txtDate & ") AND " + _
                "((tblDayAvailable.CodeHoraire1)=" & comboCodeHoraire & "))"
于 2012-11-18T14:33:32.093 回答