我有一个表格 (FORM-A),要求用户选择车辆。
用户应该点击 FORM-A 上的一个按钮,上面写着选择车辆。
应打开一个选择表 (FORM-B),用户可以在其中选择车辆。
选定的值应传送回 FORM-A。

您将如何在 MS Access 2010 中完成此操作?

FORM-B 是包含车辆图片和一些其他信息的连续表格。

最佳答案

从我从您的问题中了解到,您希望 formB 打开一种弹出窗口。当弹出窗口关闭时,其结果将放在调用表单中的某个位置。
解决方案:
a) 使用语法 docmd.openform "formB", windowmode:=acDialog 打开 FormB。
这将阻止执行下一行,直到 formB 关闭或隐藏。
b) 在FormB 的OK 按钮中,只隐藏表单,不要关闭它。
c) 当代码在 formA 中恢复时,您现在可以

  • 检查 formB 是否仍然打开。如果没有,它已被取消
  • 读取隐藏 formB 中的值(仍然打开),然后关闭 formB

  • 否则,您还可以让 formB 在关闭之前更新 formA 中的控件。但我不喜欢这种方法,因为 formB 不可重用,并且它在 formB 和 formA 之间创建了不必要的依赖关系。

    关于ms-access - MS Access : How do forms communicate values to each other?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4555375/

    10-11 20:21