我目前有一个运行查询的表单,一切都在游泳,或者至少它出现。我有三个有问题的字段:ID字段,客户名称字段和Age字段。年龄字段实际上是客户在报价签署时的年龄,因此它是使用报价日期和客户的DOB计算的字段。
年龄计算在第一眼看上去很完美。 ID和名称字段存在问题的原因是因为当我双击它们时,它会打开一个表单,这又可以正常工作。问题是当我退出这些表格并回到原始表格时。
我所记录的任何记录的年龄字段都会变为"#错误"而不是它显示的内容。如果我点击表单中的其他记录,那么该年龄字段将更改为"#错误"同样。这似乎每次都会发生,我不知道为什么。
有没有人解决过与此类似的问题,或者对如何解决这个问题有所了解?
提前致谢!
更新:我将其更改为打开报告而不是表单,问题仍然存在。
有问题的计算:Int(([effectiveDate] - [dateOfBirth])/ 365.25)
答案 0 :(得分:0)
尝试以这种方式计算年龄:
DateDiff("yyyy", [dateOfBirth], [effectiveDate]) + ([effectiveDate] < DateSerial(Year([effectiveDate]), Month([dateOfBirth]), Day([dateOfBirth])))
使用此方法会计算您的出生日期与生效日期之间的年数差异,同时考虑到该人的生日可能尚未在该日期过去。
基本上第一部分得到年份,第二部分要么为0加0,要么如果生效日期少于有效年份的生日,则加1为真(意味着它还没有通过)< / p>