显示Access 2010表中给定字段筛选器的所有记录

时间:2015-08-19 14:51:28

标签: ms-access access-vba ms-access-2010

希望这有意义......我在Access 2010中有一个表,其中包含供应商列表以及供应商和我工作地点的联系人。 POC的数量各不相同,从1-4到此为止。该表已设置好,因此每个POC都在一个单独的行上。

供应商可以有一个联系人,但工作可以有三个不同的联系人,反之亦然。

我想要发生的是当我从表格上的组合框中选择一个值时,需要显示所有相关的POC而不是逐个循环。

例如,Supplier1在其工厂有两个POC,我们的工厂有三个。我想让组合框在表格中找到Supplier1,然后在文本框中显示该供应商(他们的设施和我们的)的所有联系人。

用户可以编辑联系信息,如果不太困难,可以添加/删除联系人。

我确定之前已经问过类似于此问题的问题,但我无法通过谷歌搜索/本网站找到解决方案。如果需要的话,我对VBA使用得足够舒服,但绝不是专家。我完全不熟悉SQL,并希望尽可能避免朝这个方向发展。

我必须小心我提供的任何数据,但如果你需要查看数据或类似的东西,我会尽我所能。

Supplier    Code    Part    Supplier Contact   Procurement Contact  QC Contact
Ajin        AKVN            Patrick                 Yong                 Jack   
Ajin        AKVN            Chase                   Yong                 Jack   
Autoliv     AMNP   Seatbelt Daryl                   James                Lewis  
Bosch       AG48            Hancheul                Kevin           
Carlex      AKJ5  QTR Glasses  Bob                  Joy                   Zack  
Continental ANKC            Jacob           
KSR       C03A05 Brake Pedal Jose                   Paul                 David
KSR       C03A05 Brake Pedal Jose                  Paul                  Gary
KSR      C03A05  Brake Pedal Jose                  Paul                  Steven
KSR      AG5Z   Accelerator Pedal Jack             Paul                  David
KSR      AG5Z   Accelerator Pedal Jack             Paul                  Gary
KSR     AG5Z    Accelerator Pedal Jack             Paul                 Steven
KSR     AG5Z    Accelerator Pedal Cory             Paul                 David
KSR     AG5Z    Accelerator Pedal Cory             Paul                 Gary
KSR     AG5Z    Accelerator Pedal Cory             Paul                 Steven

1 个答案:

答案 0 :(得分:1)

您的表需要严格规范化(请参阅例如What is Normalisation (or Normalization)?http://r937.com/relational.html

我建议(注意:我不确定供应商/代码/部件关系):

- tSupplier
SupplierID   SupplierName
1            Ajin
2            KSR

- tParts
PartID     SupplierID   Code      Part
1          1            AKVN
2          2            C03A05    Brake Pedal 

- tContactTypes
TypeID    Type
1         Supplier 
2         Procurement 
3         QC

- tContacts
ContactID  SupplierID  TypeID  ContactName
1          1           1       Patrick
2          1           1       Chase
3          1           2       Yong
4          1           3       Jack

等等。 每个表的第一列是主键,一个自动编号字段。 所有其他ID列都是外键,链接到父表。

现在您可以为供应商提供一个组合框,它提供了供应商ID 这样,您可以过滤联系人并在数据表子表单中显示它们 全部在一个表中,ContactTypes作为列,或者在三个子表单中,每个子表单都被一个ContactType过滤。

为了能够添加新联系人,请使用BeforeInsert事件来分配当前的SupplierID。