2011-12-05 50 views
0

是否有可能在数据库中的某个字段中有一个日期,称为入口日期,并且一个字段叫做完成日期,入口日期将预先填充,但我希望结束日期为21几天后,有没有一种方法可以做到这一点?访问在日期中添加21天

谢谢

回答

0

您似乎正在使用Microsoft Access。可以在窗体上的开始日期控件的After Update事件中更新完成日期字段(列),或者可以创建更新字段的查询,或者从Access 2010开始,可以使用data macro。但是,如果日期始终在开始日期前21天,您是否需要一个字段(列)?查询可以让你展现结束日期很轻松地:

SELECT StartDate, StartDate + 21 As EndDate 
FROM MyTable 
+0

对不起应该补充其Access 2003中,我使用,看着运行查询的,我知道该怎么做,并保存选项作为表的查询,但我想自动做它我已经看过2010年,我可以看到有一个计算领域的表设计,这将做到这一点,但在2003年它没有这个,我试图将此添加到表设计中的dateb字段默认值 - DateAdd(“d”,21,'DateA'),但它给了我一个数据类型不匹配,但工作我期望如果我输入DateAdd(“d”,21,“01/12/2011" )。还需要一个独立的领域,因为我不能重写数据。 – user445714

+1

@ user445714您不需要dateadd,只需添加21天('= Me.StartDate + 21')并使用开始日期的after update事件,而不是控制源。不要使用默认值,您的开始日期在运行时不会存在。 – Fionnuala

0
In opposite of Excel that directly you can add to date There is Function to add day or month or year to Date in Access. 
Exmaples: 

DateAdd('d', 130 , Date) 
DateAdd('d', 430 , FirstDate) //add month and year by calculating extra days 
DateAdd('m',3 , Date) 
DateAdd('y', 2 , Date)