创建一个合同表 tbHt( iHtbh,iHtmc,dHtqdrq,iWhzq,dXcbyrq)  
表示的意义是:合同(合同编号,名称,合同签定日期,维护周期,下次保养日期),    
tbWh(iWhbh,iHtbh,dWhrq) 表示的意思是:维护(维护编号,合同编号,实际维护日期), 
当有维护记录生成时,便自动形成下次保养日期。(写代码)

解决方案 »

  1.   

    有必要么?维护记录生成时,DateAdd(..)把结果直接就填写字段了啊。为什么要用触发器?
      

  2.   

    有两个字段,一个是开始日期[StartDateTime],另一个是频率单位[FrequencyUnitMeasure],如年,月,日...等.下面的例子,此字段是存入0~7.
    [StartDateTime],
    (CASE [FrequencyUnitMeasure] WHEN 0 THEN (DATEADD(Year,[Frequency],[StartDateTime])) WHEN 1 THEN (DATEADD(Quarter,[Frequency],[StartDateTime])) WHEN 2 THEN (DATEADD(Month,[Frequency],[StartDateTime])) WHEN 3 THEN (DATEADD(Week,[Frequency],[StartDateTime])) WHEN 4 THEN (DATEADD(Day,[Frequency],[StartDateTime])) WHEN 5 THEN (DATEADD(Hour,[Frequency],[StartDateTime])) WHEN 6 THEN (DATEADD(Minute,[Frequency],[StartDateTime])) WHEN 7 THEN (DATEADD(Second,[Frequency],[StartDateTime])) END) AS [EndDateTime]