首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于用户交互控制窗体的外观

基于用户交互控制窗体的外观
EN

Stack Overflow用户
提问于 2013-11-05 04:33:14
回答 1查看 292关注 0票数 0

我需要构建一个表单,该表单可用于提交两种类型的请求,但必须收集的数据对于每种类型略有不同。也就是说,我有常规订单和特殊需求,这些订单和特殊需求都是通过相同的表单完成的。

目前,表单包含“库存项目”或“特殊请求”的下拉列表,如果选择了库存项目,则使用另一个字段"ItemName“(这是一个控制列表)来选择要重新排序的库存项目。控制列表对于减少定期库存项目的拼写差异(便于报告)非常重要。另一方面,特殊请求必须由经理批准,必须与来自另一个表单的原始请求ID相关联,并且无法预测ItemName,因此ItemName字段必须成为自由文本字段。因此,流程如下:如果选择了“特殊请求”,则需要从控制列表中清除ItemName字段以允许自由键入,还需要出现一个带有“经理已批准?”标签的复选框。最后,必须显示一个用于输入关联的特殊请求ID的字段,该字段可能也会受到控制。基本上,我需要能够控制表单的流程,这取决于所做的选择。

下面是我所做的:我进入表单的设计视图,突出显示字段ItemName,并将其从组合框更改为文本框,以确认我可以在两种格式之间切换。然后我已经选择了格式选项卡中的条件格式,但是,可用的选项不允许我评估另一个字段的内容我没有使用VBA的经验programming...Can这是不是没有VBA代码?

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 20:39:43

好了,这里有一个小小的提示,让你开始。在您的特定情况下,您不需要根据请求类型在组合框和文本框之间切换。名称"Combo Box“指的是它是文本框和下拉列表的组合。

如果组合框的.LimitToList属性为No,则用户可以从列表中选择一项,也可以键入其他值。如果.LimitToListYes,则他们必须从列表中选择一项。

因此,表单所需要做的就是根据“请求类型”的组合框的当前值来切换“项”的组合框的.LimitToList属性。这可以通过“请求类型”组合框的After Update事件处理程序中的一行VBA代码来完成:

代码语言:javascript
复制
Option Explicit

Private Sub cbxRequestType_AfterUpdate()
    Me.cbxItem.LimitToList = (Me.cbxRequestType.Value = "Stock Item")
End Sub

正如您可以想象的那样,通过切换.Visible属性,可以使用相同的事件处理程序(用于名为cbxRequestType的组合框)来显示/隐藏表单上的其他控件(例如,“经理已批准”的复选框)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19776600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档