【问题标题】:Access Default Value Giving #Size! Error访问默认值给#Size!错误
【发布时间】:2016-08-11 18:50:31
【问题描述】:

我正在使用 Access 2013 表单进行计算。我有一个用户在一个文本框中输入他们一周中每一天的工作时间。相应地标记为 txtMonday、txtTuesday 等。我有一个文本框,用于显示所有工作时间 txtTotalHours,我使用此公式设置默认值 =NZ(txtMonday,0)+NZ(txtTuesday,0)+NZ(txtWednesday,0)+NZ(txtThursday,0)+NZ(txtFriday,0)+NZ(txtSaturday,0)+NZ(txtSunday,0) 这会出现 #Size! 的错误

我认为NZ() 可以解决任何问题,但我仍然收到错误消息。我可以做些什么来克服这个错误,如果所有天数都为零、null 或空白,我的计算会显示 0,或者如果天数有值输入,则显示 SUM?

【问题讨论】:

  • txtTotalHours 控件是否绑定到字段? txt 控件怎么样?
  • 如果从 Default Value 属性中删除该公式并将其添加到 txtTotalHours 的 Control Source 属性中会发生什么?
  • @HansUp - 好主意 - 我认为这是主要问题 - 但第二个问题(#Size)即将到来,因为它只是将所有日子作为字符串连接在一起 - 然后转向数字 -一个非常大的数字。我得到的是 "1+2+3" = "123" 而不是 6
  • 我在测试中没有看到这一点,@dbmitch。对于这 7 个工作日文本框,我在“格式”选项卡的“格式”属性中有“通用编号”。然后用 Pinky 的原始公式作为txtTotalHours 的控制源,其他文本框作为数字添加,无需应用Val()。看到您的回复后,我取消了该 Format 属性,并看到按照您的描述连接的值。
  • 如果字段是从表中添加的,或者从一开始就正确格式化,则可能永远不会发生

标签: ms-access ms-access-2013 default-value


【解决方案1】:

我认为你需要做两件事

首先将每个 NZ calc 包装在 Val() 函数中 - 如果它实际上将文本框值连接为字符串 - 在您尝试转换为整数值之前 - 假设您将 TotalHours 字段定义为整数 - 你没有不说。

第二次将公式放在ControlSource 属性中(不是DefaultValue),然后如果您确实希望将其绑定到字段,请使用代码在更新后更新实际字段

=Val(NZ(txtMonday,0))+Val(NZ(txtTuesday,0))+Val(NZ(txtWednesday,0))+Val(NZ(txtThursday,0))+Val(NZ(txtFriday,0))+Val(NZ(txtSaturday,0))+Val(NZ(txtSunday,0))

【讨论】:

    猜你喜欢
    • 2020-08-07
    • 2015-05-02
    • 2013-12-24
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多