以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 日期列输入简化-已解決 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=33150) |
-- 作者:realredred -- 发布时间:2013/5/14 20:38:00 -- 日期列输入简化-已解決 由于工作表需要频烦的输入日期 之前是用excel做的,输入日期只需要输入月和日,如: 5/14 就能达成 13-05-14 这种格式的日期
而狐表日期列,是要完整的输入 20130514才行 这样,令到我部门的美女们感到极大烦厌,而且经常入錯,如输入:130514,由于输入不完整,就会卡在那单元格 按取消才行 每天都喚著很麻烦 有沒有方法,只用输入月和日 就能帶出 年月日 " yy-mm-dd 急求! [此贴子已经被作者于2013-5-18 11:24:53编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2013/5/14 21:12: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) |
-- 作者:yinyb36 -- 发布时间: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 -- 发布时间: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 -- 发布时间: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 -- 发布时间:2013/5/14 23:22:00 -- 你们部门的美女真是懒到家了,呵呵 |
-- 作者:realredred -- 发布时间:2013/5/14 23:57:00 -- 沒办法,因为之前EXCEL的确输入日子比较方便,现在真的较烦锁 而且查找方式也不及EXCEL方便,能全表搜寻
|
-- 作者:realredred -- 发布时间:2013/5/15 2:15:00 -- if f.len = 4 出錯, 是不是要定义 f.len
|
-- 作者:realredred -- 发布时间: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 |