以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71836)

--  作者:yongxuanchen
--  发布时间:2015/7/18 23:48:00
--  日期

    现在我需要实现这样的功能,我在时间空间中输入一个日期,写在某一列,然后我将这一列的日期中的月自动写到另外一列,这个应该怎么实现:

列如:时间空间中我选中2015-05-23,那么“检验日期”中的时间是2015-05-23是绑定的,这个容易实现,然后我把05写入“日期”列中,如何实现


--  作者:yan2006l
--  发布时间:2015/7/19 1:07:00
--  
.month
--  作者:大红袍
--  发布时间:2015/7/19 9:27:00
--  

1、用表达式  http://www.foxtable.com/help/topics/1285.htm

 


--  作者:大红袍
--  发布时间:2015/7/19 9:30:00
--  

2、用代码,Datacolchanged事件

 

If e.DataCol.Name = "检验日期" Then
   
    If e.NewValue = Nothing Then
        e.DataRow("日期") = Nothing
    Else
        e.DataRow("日期") = CDate(e.Newvalue).Month
    End If
   
End If

 


--  作者:yongxuanchen
--  发布时间:2015/7/19 21:31:00
--  解决
解决
--  作者:ZHX88863808
--  发布时间:2015/7/20 7:07:00
--  
这里我顺便请教一下:如果日期列显示年加月,如检验日期是2015-07-20,则日期列显示2015-07或201507,那代码怎么写呢?谢谢!
--  作者:大红袍
--  发布时间:2015/7/20 9:16:00
--  

 Drawcell 事件

 

If e.Col.Name = "第二列" Then
    If e.Text > "" Then
        e.text = Format(Cdate(e.Text), "yyyy-MM")
    End If
End If


--  作者:ZHX88863808
--  发布时间:2015/7/20 20:38:00
--  

谢谢老师,但是我想要的是:如果检修日期列显示的是年月日,而日期列(实为字符列),是根据检修日期列的日期显示年月,(即如:检修日期是2015-07-20,日期列(字符列)显示2015-07或201507),还望老师再写个代码,谢谢!


--  作者:大红袍
--  发布时间:2015/7/20 20:47:00
--  
If e.DataCol.Name = "检验日期" Then
   
    If e.NewValue = Nothing Then
        e.DataRow("日期") = Nothing
    Else
        e.DataRow("日期") = Format(e.NewValue, "yyyy-MM")
    End If
   
End If

--  作者:ZHX88863808
--  发布时间:2015/7/20 21:01:00
--  
谢谢老师!