仍然可以使用Access 365,我有4个表和1个表格
Table Plant {PID(key), Name};
Table Provider {VID(key), Company};
Table Contractor {CID(key), Plant, Provider};
Table KPI {KID(key), ServiceID, KPI1, KPI2}.
他们的关系:
Plant.PID = Contractor.Plant,
Provider.PID = Contractor.Provider,
Contractor.CID= KPI.ServiceID
与表KPI绑定的表单KPI,为简化输入数据的方式,我创建了一个分页控件“ TabCtl64”,该控件具有2个页面-“ KPI”和“详细信息”。在页面“ KPI”中,有组合框“ cbxPlantID”,组合框“ cbxProviderID”和文本字段“ ServiceID”。我想要的是:当用户从“ cbxPlantID”中选择工厂,并从“ cbxProviderID”中选择提供程序时,它将从表Contractor中查找CID,然后将值检索到字段“ ServiceID”中。
我尝试过这样:
Private Sub cbxProviderID_AfterUpdate()
ServiceID = DLookup("[CID]", "Contractor", "[Plant]= " & [Forms]![KPI]![cbxPlantID] & " And [Provider] =" & [Forms]![KPI]![cbxProviderID])
End Sub
然后错误显示:在表Contractor中找不到键匹配字段ServiceID的记录。但是有记录。 而且我创建了另一个没有Tab Control的表单,相同的代码也可以工作-所以我猜问题可能与组合框cbxPlantID和cbxProviderID的Dlookup中的命名转换有关:[Forms]![KPI]![cbxPlantID]对于字段不正确在表格的Tab控件中。但是我找不到解决方法。 有人知道吗?