Database design 在MSAccess2007自动更新“多年经验”字段和

Database design 在MSAccess2007自动更新“多年经验”字段和,database-design,ms-access-2007,Database Design,Ms Access 2007,在MSAccess2007中,您是否有一个具有多年/月经验的字段,该字段会随着时间的推移自动更新?它类似于linkedin网站,在该网站上,它会更新您当前工作岗位的服务时间 您还可以创建一个搜索表单,然后查找显示“x”年或更长时间的行 这背后的理由是要有一个数据库,里面有对某些行业有多年经验的人,如果我想搜索有“x”年或以上经验的人,我可以通过在表格中键入我想要的来搜索 提前感谢以下是如何显示我使用当前日期作为结束日期的两个日期之间的年、月、日差-如果需要,您可以使用表中的值: SELECT S

在MSAccess2007中,您是否有一个具有多年/月经验的字段,该字段会随着时间的推移自动更新?它类似于linkedin网站,在该网站上,它会更新您当前工作岗位的服务时间

您还可以创建一个搜索表单,然后查找显示“x”年或更长时间的行

这背后的理由是要有一个数据库,里面有对某些行业有多年经验的人,如果我想搜索有“x”年或以上经验的人,我可以通过在表格中键入我想要的来搜索


提前感谢

以下是如何显示我使用当前日期作为结束日期的两个日期之间的年、月、日差-如果需要,您可以使用表中的值:

SELECT Staffing.SDAte, Staffing.Edate, 
DateDiff("yyyy",[SDAte],Date())-IIf(Format([SDAte],"mmdd")>Format(Date(),"mmdd"),1,0)
AS Years,
IIf(Day([SDAte])<=Day(Date()),DateDiff("m",[SDAte],Date())-[Years]*12,DateDiff("m",[SDAte],Date ())-[Years]*12-1)
 AS Months,
 DateDiff("d",DateAdd("m",[Months],DateAdd("yyyy",[Years],[SDAte])),Date())
 AS Days
FROM Staffing;

我不认为有一个“自动更新”是一个好主意,除非它是100%防弹的-你不希望它连续运行两次。另一种方法是将他们的“开始年份和月份”放在数据库中,然后您的查询可以根据他们的日期和当前日期之间的差异计算经验年数。感谢您的回复。这听起来很完美,我该怎么做呢?下面是一个简单的查询,它根据日期和今天之间的差异计算两个值——一个是年,另一个是月。从人员配置中选择Staffing.SDAte、Staffing.Edate、DateDiffyyyy、[SDAte],日期为Yrs,DateDiffm、[SDAte],日期为MTH;可以显示日期和月份。我在控制源代码中使用datediff函数已经玩了大约20分钟了,试图这样做,但只能得到其中一个?请查看。。