【问题标题】:Expression in control source and default value控制源中的表达式和默认值
【发布时间】:2012-06-20 16:07:18
【问题描述】:

我在这里拉头发。 我想将 2 个子表单字段链接到主表单中的一个字段。 我使用Parent.MyFieldName.Column(3) 作为第一个子表单字段的控制源,它显示得很好。我的第二个子表单字段的行源使用第一个子表单字段作为其查询的条件。 问题是,当我使用上面的代码时,这个组合框仍然是空的,但是如果我给第一个字段一个常量值,它就会被填充。 感觉组合框在从第一个子表单字段检索数据之前已被填充。 我尝试将上面的代码表单控件源移动到默认值,但两个字段都保持为空。

我做错了什么?

【问题讨论】:

  • 为什么要引用第一个子表单字段而不是它所引用的父字段?发布一些行源可能是个好主意。
  • 因为当我在查询生成器中输入 Parent.MyFieldName.Column(3) 时,我收到一条错误消息“未定义函数'Parent.MyFieldName.Column'。
  • 您正在构建的查询是什么?请发布 SQL,包括您希望父位去哪里,应该可以重写查询,这样它就可以在没有这种复杂性的情况下工作。请也包括父组合的行源。
  • 您确定可以帮助解决我的问题吗?
  • 不,但是这些年来我已经帮助了很多人,所以这绝不是不可能的。

标签: ms-access


【解决方案1】:

我找到了无法正常工作的主要原因 - 子窗体控件在主窗体的其余部分之前加载。这意味着当我的子表单下拉菜单在其他表单字段中寻找数据时,它们仍然没有出现,因此我留下了一个空的下拉菜单。

我通过删除子窗体控件的源对象并添加解决了这个问题

Me!Subform1.SourceObject = "SubformOtpuskaneIzhMat"

在主窗体中的某些事件中。

【讨论】:

  • +1,很有趣。你是怎么知道装载顺序的?是否受主窗体的 Tab 键顺序影响?
  • 实际上写在这里:office.microsoft.com/en-us/access-help/…(在“使用子表单”下)。奇怪的是我花了多少时间才找到它。
  • 天啊,我希望我早点看到!谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-10-13
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-18
  • 2020-01-01
  • 2016-04-03
相关资源
最近更新 更多