Foxtable(狐表)用户栏目专家坐堂 → 如何输入日期只输入年月,输入具体日期?


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

主题:如何输入日期只输入年月,输入具体日期?

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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/6 11:41:00 [显示全部帖子]

DataColChanged事件

 

Dim d As Date
If Date.TryParse(e.NewValue, d) Then
    e.DataRow("出生年月") =d.Year & "年" & d.Month & "月"
End If

 

“出生年月”列的数据类型是“字符”

[此贴子已经被作者于2018/4/6 11:42:52编辑过]

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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/6 12:57:00 [显示全部帖子]

谢谢老师

 


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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/6 13:26:00 [显示全部帖子]

我只看到,老师写的这句话“控制日期列的显示,即可,drawcell事件”,没看答案,就写了如下代码

 

 

Dim d As Date
If e.Col.Name = "出生年月" AndAlso e.Row.IsNull("出生年月") = False  Then
    d = e.Row("出生年月")
    e.Text = d.Year & "年" & d.Month & "月"
End If

 

老师的这个“Format(cdate”我还不认识哪,谢谢老师,我再学

 


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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/6 13:38:00 [显示全部帖子]

哈哈,明白了,原来是格式化啊,然后将输入值转化成日期格式(Cdate),显示成“yyyy年M月”的形式。真的感谢老师!

 


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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/7 13:33:00 [显示全部帖子]

老师说得对啊,我的这个就可满足你的要求

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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/7 13:41:00 [显示全部帖子]

DrawCell事件   日期列

 

Dim d As Date
If e.Col.Name = "出生年月" AndAlso e.Row.IsNull("出生年月") = False  Then
    d = e.Row("出生年月")
    e.Text = d.Year & "年" & d.Month & "月"
End If
If e.Col.Name = "参加工作时间" AndAlso e.Row.IsNull("参加工作时间") = False  Then
    d = e.Row("参加工作时间")
    e.Text = d.Year & "年" & d.Month & "月"
End If
If e.Col.Name = "入党时间" AndAlso e.Row.IsNull("入党时间") = False  Then
    d = e.Row("入党时间")
    e.Text = d.Year & "年" & d.Month & "月"
End If


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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/7 13:51:00 [显示全部帖子]

Drawcell事件  日期列

 

Dim d As Date
Select Case e.Col.Name
    Case "出生年月"
        If e.Row.IsNull("出生年月") = False Then
            d = e.Row("出生年月")
            e.Text = d.Year & "年" & d.Month & "月"
        End If
    Case  "参加工作时间"
        If  e.Row.IsNull("参加工作时间") = False Then
            d = e.Row("参加工作时间")
            e.Text = d.Year & "年" & d.Month & "月"
        End If
    Case "入党时间"
        If  e.Row.IsNull("入党时间") = False  Then
            d = e.Row("入党时间")
            e.Text = d.Year & "年" & d.Month & "月"
        End If
End Select

 

这样写可能感觉会好些,简洁


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


加好友 发短信
等级:婴狐 帖子:20 积分:189 威望:0 精华:0 注册:2018/2/5 9:29:00
  发帖心情 Post By:2018/4/7 13:54:00 [显示全部帖子]

老师你感觉哪个更好些,还不哪些不行的,请指点一下

 回到顶部