根据插入第一个组合框中的数字生成组合框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据插入第一个组合框中的数字生成组合框相关的知识,希望对你有一定的参考价值。

我正在做一个用户表单,在其中一个字段(比如说它的组合框1)中,用户被要求提供失败次数,并且对于每次失败,他必须输入失败类型,部件数量和另一个字段中的类型返工(每个故障填写3个字段)。如果可以根据失败次数生成组合框,我想知道的是什么。例如:如果用户在故障区域中放置3,则应出现9个组合框,依此类推。

我还认为,也许另一种方法是让标准3组合框并在每次用户按下按钮时清除字段,并且计数器出现指示他正在填写哪个故障描述,但我也想知道这可以如何整合到整个userform,已经有一个“提交”按钮。

也许可能有另一个理由,我会非常感谢任何帮助。

答案

我没有太多使用动态创建的选项卡的经验,但它们可能有助于创建您正在描述的布局。我建议在基本用户表单中,包含带有单个选项卡的tabstrip以及单个故障所需的3个组合框/文本框。 (如果需要,你可以保持它不可见,直到“combobox1”有一个值)然后使用组合框中的数字动态创建标签条上的附加标签:

Private Sub ComboBox_Change()
    'To remove previous tabs if combobox changed
    For i = 1 To TabStrip1.Tabs.Count - 1
        TabStrip1.Tabs.Remove(i)
    Next i

    'Adding additional tabs to tabstrip
    For i = 1 To ComboBox.Value - 1
        TabStrip1.Tabs.Add
    Next i
End Sub

可以使用TabStrip1.Value属性识别当前选定的选项卡。我认为改变事件是由TabStrip1.Value改变排队的。当标签条发生变化时,您必须手动清除任何值(或填充它们之前填写​​但又想要再次查看的值)。

但是,由于你要通过“index”(.value属性)确定你所使用的选项卡,你可以创建一个2d数组(根据combobox1的值重新设置它以纠正行/列)并使用选项卡“index”来存储组合框值并检索用户切换回现有选项卡时的现有值。

并且可以考虑“锁定”组合框1,以便不会意外地改变该值。这可以通过将变量初始化为可能为-1来实现,该变量在开始向事件添加infor后将其设置为组合框值。或者不删除任何tabtrip选项卡,只有在数量大于现有计数时才添加。 (如果你想让他们放入他们想要的任何价值,也许可以考虑使用文本框?)

以上是关于根据插入第一个组合框中的数字生成组合框的主要内容,如果未能解决你的问题,请参考以下文章

根据使用 Javascript 选择的组合框动态添加表单字段

如何将 mysql 中的数据插入到组合框中?

Access VBA:根据非绑定列在组合框中查找项目

在组合框中书写

如何在 sql 语句中保存组合框中的选定项目和文本框中的长数字?

从访问 vba 中的多值组合框中获取值