【问题标题】:default value for textbox in bound form绑定表单中文本框的默认值
【发布时间】:2013-12-17 01:18:21
【问题描述】:

我在 MS Access 2010 数据库中有一个数据输入表单,它绑定到一个名为 CommunicationTable 的表,该表又包含一个主键 CommunicationNumber、一个外键 ClientNumber 和一个名为 @987654324 的字段@。当用户打开表单时,ClientNumber 会自动填充到名为 ClientNumber 的文本框中。我希望Level 文本框显示一个默认值,该默认值等于CommunicationTable 中指定ClientNumber 的最新记录中为Level 记录的值(最高CommunicationNumber 值)。我该如何设置?

这是我目前在表单属性表中Level 文本框的默认值表达式构建器中使用的代码:

=DLookUp([Level],[CommunicationTable],[CommunicationNumber]=DMax([CommunicationNumber],[CommunicationTable],[ClientNumber]=[Me].[ClientNumber]))  

当我使用有效的ClientNumber 加载表单时,此代码给出了一个空值。我认为这可能是由于DMax() 函数产生了即将添加到CommunicationTable 的当前(空白)行,但是当我使用以下代码时,我得到了相同的空结果:

=DLookUp([Level],[CommunicationTable],[CommunicationNumber]=DMax([CommunicationNumber],[CommunicationTable],[ClientNumber]=[Me].[ClientNumber])-1 )  

如何更改此表达式,以便它为CommunicationTable 中的指定ClientNumber 提供最新的Level 值?


编辑:

我尝试了以下方法,但它给出了 #type! 错误:

=DLookUp("[Level]","[CommunicationTable]","CommunicationNumber= " &  
DMax("CommunicationNumber","[CommunicationTable]","[ClientNumber]=  
" & [Forms]![Main]![NavigationSubform].[Form]![ClientNumber] & ""))  

请注意,表单中的 ClientNumber 文本框本身是使用以下表达式填充的:

[Forms]![Main]![NavigationSubform].[Form]![ClientNumber]

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    正如我在评论中提到的,您必须稍微调整一下您的查询:

    =DLookUp("[Level]","[CommunicationTable]","CommunicationNumber= " & DMax("CommunicationNumber","[CommunicationTable]"))
    

    更新:

    =DLookup("[Level]", "[CommunicationTable]", "CommunicationNumber= " & DMax("CommunicationNumber", "[CommunicationTable]", "[ClientNumber]=  " & Me.ClientNumber.Value & ""))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-08
      • 2012-05-21
      • 1970-01-01
      • 2016-05-06
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多