表A 有“商品代码”“起始日期”“终止日期”三列
需要在表A的DataColChanging中输入“起始日期”时判,不能小于等于相同的“商品代码”的最大“起始日期”
我做了这样的代码,却无论输入大于或小于等于相同的“商品代码”的“起始日期”都不对
Select Case e.DataCol.Name
Case "起始日期"
Dim cmd As New SQLCommand
Dim dt As DataTable
'cmd.C '如果使用外部数据源需指明数据源名称
cmd.CommandText = "SELECT MAX(终止日期) As 最大 From {表A} Where 商品代码 ='" & e.DataRow("商品代码") & "'" 'SQL改#为'
dt = cmd.ExecuteReader()
If dt.DataRows.Count > 0 Then
If e.DataRow("起始日期")<=CDate(dt.DataRows(0)("最大")) Then
e.Cancel = True '取消变动.
Messagebox.Show("你输入的起始日期晚于上期的终日期,请重新输入!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Select
表结构
此主题相关图片如下:qq截图20110708145925.png