到期提醒设计

假定有下图所示的一个表:

现在希望:

1、对于10天内即将到期的产品,用红低白字显示到期日期。
2、每次打开项目,如果有10天内即将到期的产品,就自动提示用户,并筛选出这些即将到期的产品。

设计步骤

1、首先增加一个自定义样式,名称为“到期”,红底白字。

2、设置表的DataColChanged事件代码,以便根据生产日期和到期天数,计算出到期日期:

Select Case e.DataCol.Name
    Case
"生产日期","保质天数"
        If e.DataRow.IsNull("生产日期") Then
            e.
DataRow("到期日期") = Nothing
        Else

            e.
DataRow("到期日期") = e.DataRow("生产日期").AddDays(e.DataRow("保质天数"))
        End
If
End
Select

3、设置表的DrawCell事件代码,标出10天内即将到期的产品:

If e.col.Name = "到期日期" Then
    If
e.Row.IsNull("到期日期") = False
        If
e.Row("到期日期") < Date.Today.AddDays(10) Then
            e.Style =
"到期"
       
End If
    End
If
End
If

4、最后设置项目事件AfterOpenProject的代码,以便打开项目的时候,能够自动提示并显示即将到期的产品:

Dim dt As Date = Date.Today.AddDays(10)
Dim
dr As DataRow = DataTables("库存表").Find("到期日期 <= #" & dt & "#")
If
dr IsNot Nothing Then
    MessageBox.Show(
"有产品即将到期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Tables
("库存表").Filter = "到期日期 <= #" & dt & "#"
   
MainTable = Tables("库存表")
End
If


本页地址:http://www.foxtable.com/webhelp/topics/2471.htm