Foxtable(狐表)用户栏目专家坐堂 → 如何输入固定月日的日期?


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

主题:如何输入固定月日的日期?

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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
如何输入固定月日的日期?  发帖心情 Post By:2016/4/16 16:56:00 [只看该作者]

老师好!
如图,有两列数据,第一列是入学年份,因为入学总是9月1日,所以要求输入年份后,后面的月日能自动为09-01,如输入2011,则自动出现2011-09-01,另外,毕业日期为三年后的6月1日,那么输入入学日期后自动得到毕业日期。如入学日期是2011-09-01,则毕业日期自动填入:2014-06-01?

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160416162046.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/16 17:40:00 [只看该作者]

KeyUpEdit事件


If e.Text  > "" Then

    StatusBar.Message2 = e.Text

    If e.Text.length = 5 Then

        e.Text = e.Text & "09-01"

        Sendkeys.Send("{TAB}")

    End If

End If


DataColChanged事件


If e.DataCol.Name = "入学日期" Then '如果是已结帐列的内容变动
    e.DataRow("毕业日期") = new Date(e.NewValue.AddYears(3).year,6,1)
End If

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


加好友 发短信
等级:幼狐 帖子:52 积分:537 威望:0 精华:0 注册:2016/3/24 11:13:00
  发帖心情 Post By:2016/4/17 20:38:00 [只看该作者]

谢谢老师指点!我稍作了修改,这样对吗?

If e.Col.Name="入学时间" And e.Text > "" Then ’这里加了这一句,否则所有单元格的输入都自动生成“09-01”了
    StatusBar.Message2 = e.Text
    If e.Text.length = 5 Then
        e.Text = e.Text & "09-01"
        Sendkeys.Send("{TAB}")
    End If
End If

If e.DataCol.Name = "入学时间" Then '如果是入学时间列的内容变动
    If e.DataRow.Isnull("入学时间") Then 
        e.DataRow("毕业时间")=Nothing
    Else    ‘这里也加了一句,否则把“入学时间”删除时会报错。
        e.DataRow("毕业时间") = new Date(e.NewValue.AddYears(3).year,6,1)
    End If
End If

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5356 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2016/4/17 21:25:00 [只看该作者]

看似正确,你测试下吧

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/17 21:46:00 [只看该作者]

3楼代码没问题,如果报错,贴出对应的错误。

 回到顶部