以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动计算日期替换的方法!!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21461)

--  作者:jinzhengbe
--  发布时间:2012/7/13 3:08:00
--  自动计算日期替换的方法!!

列名为 “时间” 为当前日期, 想用数值代替时间。

 

以2012年7月8日为基准 赋值为1

 

2012 07-09  =2

2012 07-10 =3

....

....

....

2012 07-20=13

 

类推。想用等号后面的数字自动替换前面的日期。主要是想要替换下面代码中的e.DataRow("时间")因为时间占位置太多,打条码的时候纸张太小。所以想用数值替换时间,还望各位前辈不吝赐教啊!!!

代码应该怎么写?  非常非常感谢。

 

 

Select  e.DataCol.Name
    Case = "商城","用户名","商号","楼层","ID"
        If e.DataRow.IsNull("用户名") OrElse e.DataRow.IsNull("商号")  Then
            e.DataRow("取货商品名") = Nothing
        Else
            Dim bh As String = "D-"  &e.DataRow("合并") & "-"  &e.DataRow("商号") & "-" & e.DataRow("用户名")  & "-" & e.DataRow("时间")\'生成该月编号的前缀
            Dim idx As Integer
            idx = e.DataTable.Compute("Count(商品名)","商品名 like \'" & bh _
            & "*\' and [_identify] < " & e.DataRow("_identify") & " ") +1
            e.DataRow("取货商品名") = bh  
        End If
End Select

[此贴子已经被作者于2012-7-13 3:33:47编辑过]

--  作者:don
--  发布时间:2012/7/13 6:11:00
--  
Select  e.DataCol.Name
    Case = "商城","用户名","商号","楼层","ID"
         Dim idx ,n1 As Integer 
       Dim dr1 as  DataRow =  e.DataRow 
         If  dr1.IsNull("用户名") OrElse dr1.IsNull("商号")  Then
             dr1("取货商品名") = Nothing
        Else
          n1= val(Format(dr1("时间"),"yyyyMMdd"))-20120707
            Dim bh As String = "D-"  & dr1("合并") & "-"  &  dr1("商号") & "-" & dr1("用户名")  & "-" & n1            
            idx = e.DataTable.Compute("Count(商品名)","商品名 like \'" & bh _
            & "*\' and [_identify] < " & dr1("_identify") & " ") +1
            dr1("取货商品名") = bh   
        End If
End Select

--  作者:jinzhengbe
--  发布时间:2012/7/13 21:56:00
--  

测试成功,非常感谢