Foxtable(狐表)用户栏目专家坐堂 → 日期比较


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

主题:日期比较

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/7/3 9:07:00 [只看该作者]

老师还没明白吗     二次时间那列   要求只能空格输入   不让手动输入时间     但是现在的情况是   可以手动输入   就是要解决怎么样不让他手动输入时间这个问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/3 10:01:00 [只看该作者]

看这个例子啊,你如何测试的?

 

 

 

下载信息  [文件大小:372.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:时间.table


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/7/3 11:30:00 [只看该作者]

老师啊 我要疯了  这不还是你那个   不都说了不行吗
现在我有二种办法手动输入时间  
1.新增一行后直接在二次时间列的单元格里双击  就能写数字了
2.空格输入  提示错误以后  用鼠标全选   又可以手动输入时间了

不让手动输入时间   只能空格    这是要求   你没理解错吧

你别纠结你这个了   你看看最近发的那个    那个是最接近要求的   只是还有一点小瑕疵   你在那个实例的基础上修改最好了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/3 11:36:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:时间 (3).table


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/7/3 14:44:00 [只看该作者]

时间问题行了    现在还一个问题   我写的这个代码  你看下出错在什么地方   为什么不行    昨天我试的还行
If e.DataCol.Name = "日期" Then
    Dim rq As Date = e.DataRow("日期")
    Dim ec As Date = e.DataRow("二次时间")
    If rq.Hour > 07 AndAlso rq.Hour < 14 Then
        e.DataRow("班次") = "早"
    ElseIf rq.Hour > 14 AndAlso rq.Hour < 22 Then
        e.DataRow("班次") = "中"
    ElseIf rq.Hour > 22 AndAlso rq.Hour < 06 Then
        e.DataRow("班次") = "夜"
    End If
End If

If e.DataCol.Name = "二次时间" Then
    Dim rq As Date = e.DataRow("日期")
    Dim ec As String = e.DataRow("二次时间")
    If rq.Hour > 07 AndAlso rq.Hour < 14 AndAlso ec IsNot Nothing Then
        e.DataRow("班次") = "带早"
    ElseIf rq.Hour > 14 AndAlso rq.Hour < 22 AndAlso ec IsNot Nothing Then
        e.DataRow("班次") = "带中"
    ElseIf rq.Hour > 22 AndAlso rq.Hour < 06 AndAlso ec IsNot Nothing Then
        e.DataRow("班次") = "带夜"
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/3 15:09:00 [只看该作者]

If e.DataCol.Name = "日期" Then
    Dim rq As Date = e.DataRow("日期")
    Dim ec As Date = e.DataRow("二次时间")
    If rq.Hour > 07 AndAlso rq.Hour < 14 Then
        e.DataRow("班次") = "早"
    ElseIf rq.Hour > 14 AndAlso rq.Hour < 22 Then
        e.DataRow("班次") = "中"
    ElseIf rq.Hour > 22 OrElse rq.Hour < 06 Then
        e.DataRow("班次") = "夜"
    End If
End If


If e.DataCol.Name = "二次时间" Then
    Dim rq As Date = e.DataRow("日期")
    Dim ec As String = e.DataRow("二次时间")
    If rq.Hour > 07 AndAlso rq.Hour < 14 AndAlso ec IsNot Nothing Then
        e.DataRow("班次") = "带早"
    ElseIf rq.Hour > 14 AndAlso rq.Hour < 22 AndAlso ec IsNot Nothing Then
        e.DataRow("班次") = "带中"
    ElseIf (rq.Hour > 22 OrElse rq.Hour < 06) AndAlso ec IsNot Nothing Then
        e.DataRow("班次") = "带夜"
    End If
End If


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/7/3 15:31:00 [只看该作者]

又出现2个问题   
1.二次时间那列  可以粘贴时间  而且不在时间范围内  也不会报错
2.二次时间如果添加过时间  在删除以后    班次列内容怎么样能恢复成  夜  早  中   而不是  带夜  带早  带中
老师辛苦

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/3 15:42:00 [只看该作者]

1、我测试并不能粘贴,用的是34楼例子,请你告诉我如何操作;

 

2、

 

Select e.DataCol.name
    Case "日期", "二次时间" 
        Dim rq As Date = e.DataRow("日期")
        Dim ec As Date = e.DataRow("二次时间")
        If ec <> Nothing Then
            If rq.Hour > 07 AndAlso rq.Hour < 14  Then
                e.DataRow("班次") = "带早"
            ElseIf rq.Hour > 14 AndAlso rq.Hour < 22 Then
                e.DataRow("班次") = "带中"
            ElseIf (rq.Hour > 22 OrElse rq.Hour < 06) Then
                e.DataRow("班次") = "带夜"
            End If
        Else
            If rq.Hour > 07 AndAlso rq.Hour < 14 Then
                e.DataRow("班次") = "早"
            ElseIf rq.Hour > 14 AndAlso rq.Hour < 22 Then
                e.DataRow("班次") = "中"
            ElseIf rq.Hour > 22 OrElse rq.Hour < 06 Then
                e.DataRow("班次") = "夜"
            End If
        End If
End Select


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/7/3 16:10:00 [只看该作者]

我找到问题的地方了   我禁用了    这个代码  所以能粘贴     但是如果这个代码用的话    输入的时候就很麻烦    单元格都要用鼠标双击才行     要是不用这个代码   切换下一个单元格的时候就很方便   TAB  方向键   回车    都可以用    而且不用双击单元格就可以输入
怎么样修改可以达到完美     不能粘贴     输入的时候也方便  
'If e.keycode <> keys.Space AndAlso e.keycode <> keys.Delete AndAlso e.keycode <> keys.Escape Then
    'e.Cancel = True
'End If

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:时间_201807031605.zip

还是看这个实例吧   弄得比较好了
[此贴子已经被作者于2018/7/3 16:11:07编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107321 积分:545866 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/3 22:06:00 [只看该作者]

不需要双击啊,输入前按一下空格键即可。

 回到顶部
总数 42 上一页 1 2 3 4 5 下一页