我自己在本论坛提出的问题:窗体录入时,有一个日期字段,我需要在录入这个记录的日期后,下一个记录的日期自动推后一个月并自动填入。经过反复研究,问题已经解决,不敢独享,特公布之--在设计好的录入窗体的“插入后”事件里写如下代码:
Dim x01 As Integer, x02 As Integer, x03 As Integer, x04 As Integer
'首先判断当前添加记录时,日期是否为空
If IsNull(Me.日期) = True Then
TDate = Date '当为空时,下条记录日期为当前日期
Else
'确定下条记录日期.要注意以一几点:1.跨年,2.下月日期小于当前日期:如本月有31日,下月只有30
'年
x01 = Year(Me.日期) + IIf(Month(Me.日期) = 12, 1, 0)
'月
x02 = IIf(Month(Me.日期) = 12, 1, Month(Me.日期) + 1)
'日
x04 = Day(DateSerial(Year(Me.日期) + IIf(Month(Me.日期) >= 11, 1, 0), IIf(Month(Me.日期) >= 11, Month(Me.日期) - 10, Month(Me.日期) + 2), 1) - 1) '下月月份里最大日期值
x03 = IIf(x04 < Day(Me.日期), x04, Day(Me.日期))
'下一记录日期:
TDate = Format(DateSerial(x01, x02, x03), "yyyy-mm-dd")
End If
'设定值:
Me.日期.DefaultValue = "#" & TDate & "#"