Foxtable(狐表)用户栏目专家坐堂 → 日期列输入简化-已解決


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

主题:日期列输入简化-已解決

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
日期列输入简化-已解決  发帖心情 Post By:2013/5/14 20:38:00 [只看该作者]

由于工作表需要频烦的输入日期

之前是用excel做的,输入日期只需要输入月和日,如: 5/14

就能达成  13-05-14  这种格式的日期

 

而狐表日期列,是要完整的输入 20130514才行

这样,令到我部门的美女们感到极大烦厌,而且经常入錯,如输入:130514,由于输入不完整,就会卡在那单元格  按取消才行

每天都喚著很麻烦

有沒有方法,只用输入月和日

就能帶出  年月日 " yy-mm-dd

急求!

[此贴子已经被作者于2013-5-18 11:24:53编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/14 21:12:00 [只看该作者]

不可以的。

 


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


加好友 发短信
等级:童狐 帖子:294 积分:3484 威望:0 精华:0 注册:2013/4/9 19:12:00
  发帖心情 Post By:2013/5/14 21:17:00 [只看该作者]

增加辅助输入列,用于输入,日期列接受
Dim dr As DataRow = e.DataRow
Dim d As String = Date.today.year
Dim s As String= d & dr("辅助输入")
s= Mid(s,1,4) & "-" & Mid(s,5,2) & "-" & Mid(s,7,2)
dr("日期") = Cdate(s)


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


加好友 发短信
等级:四尾狐 帖子:953 积分:7252 威望:0 精华:0 注册:2011/9/6 13:36:00
  发帖心情 Post By:2013/5/14 21:33:00 [只看该作者]

ValidateEdit 事件:
If e.Col.Name = "日期" Then
    Dim txt As String = e.Text
    If txt.Length = 4 Then
        e.Text = Date.Today.Year & txt
    ElseIf txt.Length = 6 Then
        e.Text = "20" & txt
    End If
End If
[此贴子已经被作者于2013-5-14 21:35:56编辑过]

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/14 21:58:00 [只看该作者]

以下是引用gryy在2013-5-14 21:17:00的发言:
增加辅助输入列,用于输入,日期列接受
Dim dr As DataRow = e.DataRow
Dim d As String = Date.today.year
Dim s As String= d & dr("辅助输入")
s= Mid(s,1,4) & "-" & Mid(s,5,2) & "-" & Mid(s,7,2)
dr("日期") = Cdate(s)

某程度上真的能简化了

这个思路很好,现在再加多几个条件,相信能完美简化,

上述的方法,是只要在"辅助输入"列上,输入4位数字(年和月) 如: 0514

那麼"日期"列,就能帶出 "2013-05-14"

勁!

但如果想设成输入帶有符号的,如: 05-14

把s变量 = 改一下,如 : s= Mid(s,1,4) & "-" & Mid(s,5,5)

也能做到了,

那麼,如何检测"辅助输入"列单元格是否帶有符号呢?

而当"辅助输入"列清空,能同步令"日期"列都一起清空?

 

 

 


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


加好友 发短信
等级:童狐 帖子:294 积分:3484 威望:0 精华:0 注册:2013/4/9 19:12:00
  发帖心情 Post By:2013/5/14 23:03:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name 
Case "辅助输入"
  If dr.IsNull(" 辅助输入") Then '如果列为空
       dr("日期") = Nothing
  end if

dim f as string = dr("辅助输入")
  if f.len = 4

Dim d As String = Date.today.year
Dim s As String= d & dr("辅助输入")
s= Mid(s,1,4) & "-" & Mid(s,5,2) & "-" & Mid(s,7,2)
dr("日期") = Cdate(s)
  
  esle
     if  f.len = 5  then
     Dim d As String = Date.today.year
Dim s As String= d & dr("辅助输入")
s= Mid(s,1,4) & "-" & Mid(s,5,2) & "-" & Mid(s,8,2)
dr("日期") = Cdate(s)
   else
        message.show("输入错误!")
end if 
end if
  End Select

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


加好友 发短信
等级:幼狐 帖子:171 积分:1292 威望:0 精华:0 注册:2011/8/17 21:12:00
  发帖心情 Post By:2013/5/14 23:22:00 [只看该作者]

你们部门的美女真是懒到家了,呵呵图片点击可在新窗口打开查看

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/14 23:57:00 [只看该作者]

沒办法,因为之前EXCEL的确输入日子比较方便,现在真的较烦锁
而且查找方式也不及EXCEL方便,能全表搜寻

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/15 2:15:00 [只看该作者]

if f.len = 4  出錯,
是不是要定义 f.len 

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/15 2:21:00 [只看该作者]

折騰出來了
应是这样

Dim message
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "辅助输入"
        If dr.IsNull("辅助输入") Then '如果列为空
            dr("日期") = Nothing
        End If
        
        Dim f As String = dr("辅助输入")
        If len(f) = 4
            
            Dim d As String = Date.today.year
            Dim s As String= d & dr("辅助输入")
            s= Mid(s,1,4) & "-" & Mid(s,5,2) & "-" & Mid(s,7,2)
            dr("日期") = Cdate(s)
            
        Else
            If  len(f) = 5  Then
                Dim d As String = Date.today.year
                Dim s As String= d & dr("辅助输入")
                s= Mid(s,1,4) & "-" & Mid(s,5,2) & "-" & Mid(s,8,2)
                dr("日期") = Cdate(s)
            Else
                message.show("输入错误!")
            End If
        End If
End Select

 回到顶部
总数 18 1 2 下一页