访问:根据结束日期下拉列表

时间:2018-11-06 11:21:13

标签: ms-access

我试图基于日期字段更改Access表单中的下拉列表。

我有一个交易表: TransacID-MaterialID-StartDateOfRent-EndDateOfRent

我想做的是防止用户选择尚未返回的MaterialID。

当然可以,但是我在这头上挠头……

感谢您的帮助

编辑:
我的解释可能不清楚。
这是一些数据:

| MaterialID: | Car1 | Car2 | Car3 |

在我的表单中,用户可以选择其中任何一辆车进行出租。
让我们说:

| Transac1 | Car1 | StartRental = 20181101 | Not Returned        |
|----------|------|------------------------|---------------------|
| Transac2 | Car2 | StartRental = 20181101 | End Date = 20181106 |

然后,我希望用户接下来的交易只能选择Car2Car3,因为它们是唯一可用的交易。

非常感谢

马特

1 个答案:

答案 0 :(得分:0)

您要的是在下拉框中显示一个禁用的行,并阻止用户选择它。这在MS Access中是不可能的。所有项目/行都是可选的。如果您想阻止用户选择那些“禁用”行之一,则必须

  1. 完全不显示该行。
  2. 显示该行,但是在选中该行后,执行验证并抛出错误消息,指出无效选择或某些内容。

扩展点2,您可以修改源查询并添加一个计算字段。即CanSelect: nz(EndDate,0) < date'更改此逻辑

选择了DropDown项目后,您只需

if not (canSelect) ThrowErrorMessage; ClearSelection

上面显然是伪代码,但这应该可以帮助您开始。