Foxtable(狐表)用户栏目专家坐堂 → 日期判断代码求助


  共有10481人关注过本帖树形打印复制链接

主题:日期判断代码求助

帅哥哟,离线,有人找我吗?
红叶
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:2895 威望:0 精华:0 注册:2008/9/1 14:05:00
日期判断代码求助  发帖心情 Post By:2011/7/8 14:59:00 [只看该作者]

表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
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/8 15:04:00 [只看该作者]

e.datarow("起始日期")是不对的,应该用e.NewValue

 

请仔细看一下DataColChanging事件的说明:

 

http://help.foxtable.com/topics/0624.htm

 


 回到顶部