Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:日期判断代码求助

1楼
红叶 发表于: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楼
狐狸爸爸 发表于:2011/7/8 15:04:00

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

 

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

 

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

 

共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01758 s, 2 queries.