【问题标题】:Selecting a specific access FORM from two combo boxes从两个组合框中选择特定的访问表单
【发布时间】:2012-04-21 23:59:58
【问题描述】:

我有一个包含许多列的机械项目表。为了让用户输入特定信息时不会混淆,我根据表格中的类型和子类型字段将列分成了一些表格。例如 type1 和 subtype1 有特定的列,它们以 type1-subtype1 形式保存,type2 和 sub-type2 以 type2-subtype2 形式保存,依此类推。 我一共有5个类型和5个子类型,所以我一共有25个表单。我用了两个组合框,新表单中的类型和子类型如图所示,我想从类型组合中选择类型并从子类型组合中选择子类型,当我单击打开表单按钮时,它应该显示相应的表单。 例如,如果用户从 type combo 中选择 type5,从 subtype combo 中选择 subtype3,则应该显示 type5-subtype3 表单,以此类推所有 25 个表单。我尝试围绕打开表单按钮的 [on click] 嵌入式宏进行操作,但徒劳无功。是否有可能在访问中以这种方法执行此操作,或者请提出一种方法。这对我很有帮助。非常感谢!

【问题讨论】:

  • 这 25 种表单真的有很大的不同,以至于您不能将单个表单与基于当前类型/子类型组合启用/禁用的数据控件一起使用吗?我会努力寻找一种方法来避免需要这么多单独的表格。
  • 绝对! 25 种形式过多。
  • @HansUp 值得一提..我会努力减少表格的数量..感谢您的建议

标签: winforms forms ms-access ms-access-2007


【解决方案1】:

EDIT 将组合框属性从 Selected 更改为 Value

有时会受到限制,不允许您将属性设置为字符串。看起来这可能是其中一种情况。如果是这样,您始终可以使用 Visual Basic(“代码生成器”)而不是嵌入的宏。在 Click 处理程序中,如下所示:

Dim formName As String
formName = type.Value & "-" & subtype.Value
DoCmd.OpenForm formName

【讨论】:

  • 组合的.Selected 属性要求您提供Row 参数。也许您指的是它的 .Value 属性。
  • @dbaseman 非常感谢您的回复,我应该在私有子 button_click() 和 end 之间输入上面的代码,还是应该为每个表单都输入。对不起,我是 Visual Basic 的新手,非常抱歉这么幼稚的问题。感谢您的帮助....
  • 好。尽管 .Value 并不是严格要求的,因为它是默认属性。我认为 OP 实际上想要 formName = "type" & type.Value & "-" & "subtype" & subtype.Value
  • @alex,是的,该代码位于私有子 button_click() 的主体中。正如 HansUp 指出的那样,您需要根据需要调整“formName”行(取决于组合框中的实际名称/值)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-27
相关资源
最近更新 更多