以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  从类型“Boolean”到类型“Date”的转换无效  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=137006)

--  作者:wuhanwei212
--  发布时间:2019/6/26 11:40:00
--  从类型“Boolean”到类型“Date”的转换无效

以下代码在调用时显示从类型“Boolean”到类型“Date”的转换无效,请老师帮我看看?


Select Case e.DataCol.Name

    Case "一拍启动到期日","标的物类型"

        If e.DataRow.IsNull("二拍启动到期日") Then

            e.DataRow("二拍启动到期日") = Nothing AndAlso e.DataRow("标的物类型") = "动产"

        Else

            e.DataRow("二拍启动到期日") = e.DataRow("一拍启动到期日").AddDays(45)

  End If

        If e.DataRow.IsNull("二拍启动到期日") Then

            e.DataRow("二拍启动到期日") = Nothing AndAlso e.DataRow("标的物类型") = "不动产"

        Else

            e.DataRow("二拍启动到期日") = e.DataRow("二拍启动到期日").AddDays(60)

         End If

End Select 
--  作者:有点甜
--  发布时间:2019/6/26 12:53:00
--  


Select Case e.DataCol.Name

    Case "一拍启动到期日","标的物类型"

        If e.DataRow.IsNull("二拍启动到期日") Then

            e.DataRow("二拍启动到期日") = Nothing

        Else

            e.DataRow("二拍启动到期日") = e.DataRow("一拍启动到期日").AddDays(45)

  End If

        If e.DataRow.IsNull("二拍启动到期日") Then

            e.DataRow("二拍启动到期日") = Nothing

        Else

            e.DataRow("二拍启动到期日") = e.DataRow("二拍启动到期日").AddDays(60)

         End If

End Select 

 


--  作者:wuhanwei212
--  发布时间:2019/6/26 14:49:00
--  
老师,这个代码这样的话是不是已经不能区分“标的物类型”这个列的内容了,我们需要的是当“标的物类型”这列的内容为“动产”时,则“二拍启动到期日”等于“一拍启动到期日”加上45天,如果“标的物类型”这列的内容为“不动产”时,则“二拍启动到期日”为“一拍启动到期日”加上60天,麻烦老师指导下。
--  作者:有点甜
--  发布时间:2019/6/26 15:02:00
--  
Select Case e.DataCol.Name
   
    Case "一拍启动到期日","标的物类型"
        If e.DataRow("标的物类型") = "动产" Then
           
            If e.DataRow.IsNull("二拍启动到期日") Then
               
                e.DataRow("二拍启动到期日") = Nothing
            Else
               
                e.DataRow("二拍启动到期日") = e.DataRow("一拍启动到期日").AddDays(45)
               
            End If
        End If
        If e.DataRow("标的物类型") = "不动产" Then
            If e.DataRow.IsNull("二拍启动到期日") Then
               
                e.DataRow("二拍启动到期日") = Nothing
               
            Else
               
                e.DataRow("二拍启动到期日") = e.DataRow("二拍启动到期日").AddDays(60)
               
            End If
        End If
       
End Select

--  作者:wuhanwei212
--  发布时间:2019/6/26 16:17:00
--  
老师,这边写代码写不下去了,多处出现字符串问题,您能不能把整个代码给看看,到底哪里出现了问题?万分感谢


--  作者:wuhanwei212
--  发布时间:2019/6/26 16:18:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图19年06月26日1553_1.png
图片点击可在新窗口打开查看

--  作者:wuhanwei212
--  发布时间:2019/6/26 16:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eventcode.txt


--  作者:有点甜
--  发布时间:2019/6/26 17:16:00
--  

1、报什么错?

 

2、上传具体实例,说明你要做到的效果。


--  作者:wuhanwei212
--  发布时间:2019/6/27 16:32:00
--  
请老师帮我诊断下,谢谢


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图19年06月26日1553_1.png
图片点击可在新窗口打开查看

要实现:1)以“财产价格确定时间”为基数,30天后为“一拍启动到期日”
2)按照“标的物类型”区分为“动产”和“不动产”,以计算出的“一拍启动到期日”分别加上45天和60天,计算出“二拍启动到期日”
3)按照“标的物类型”区分为“动产”和“不动产”,以计算出的“二拍启动到期日”分别加上22天和30天,计算出“二拍启动到期日”和“变卖启动到期日”
4)分别对“执行通知书到期日”和一拍、二拍、变卖启动到期日以及绝对到期日提前三天进行标注提醒。
以下代码执行时出现的问题:1)字符串到类型“data”的转换无效;(2)输入财产价格确定时间后,只能自动计算出“一拍启动到期日”,不能显示出“二拍启动到期日”和“变卖启动到期日”的时间

表事件

执行指挥中心_DataColChanged

Select Case e.DataCol.Name
    Case "收案日期"
        If e.DataRow.IsNull("收案日期") Then
            e.DataRow("执行通知书到期日") = Nothing
        Else
            e.DataRow("执行通知书到期日") = e.DataRow("收案日期").AddDays(7)
  End If
End Select  

Select Case e.DataCol.Name
    Case "财产价格确定时间"
        If e.DataRow.IsNull("财产价格确定时间") Then
            e.DataRow("一拍启动到期日") = Nothing
        Else
            e.DataRow("一拍启动到期日") = e.DataRow("财产价格确定时间").AddDays(30)
  End If
End Select   


Select Case e.DataCol.Name
      Case "一拍启动到期日","标的物类型"
        If e.DataRow("标的物类型") = "动产" Then
        If e.DataRow.IsNull("二拍启动到期日") Then
        e.DataRow("二拍启动到期日") = Nothing
            Else
                 e.DataRow("二拍启动到期日") = e.DataRow("一拍启动到期日").AddDays(45)
            End If
        End If
        If e.DataRow("标的物类型") = "不动产" Then
            If e.DataRow.IsNull("二拍启动到期日") Then
                 e.DataRow("二拍启动到期日") = Nothing
             Else
                 e.DataRow("二拍启动到期日") = e.DataRow("一拍启动到期日").AddDays(60)
            End If
        End If
End Select


Select Case e.DataCol.Name
     Case "二拍启动到期日","标的物类型"
        If e.DataRow("标的物类型") = "动产" Then
            If e.DataRow.IsNull("变卖启动到期日") Then
                e.DataRow("变卖启动到期日") = Nothing
            Else
                e.DataRow("变卖启动到期日") = e.DataRow("二拍启动到期日").AddDays(22)
            End If
        End If
        If e.DataRow("标的物类型") = "不动产" Then
            If e.DataRow.IsNull("变卖启动到期日") Then
                 e.DataRow("变卖启动到期日") = Nothing
            Else
                e.DataRow("变卖启动到期日") = e.DataRow("二拍启动到期日").AddDays(30)
            End If
        End If
End Select  


Select Case e.DataCol.Name
    Case "查扣冻时间","查扣冻期限"
        If e.DataRow.IsNull("查扣冻时间") Then
            e.DataRow("绝对到期时间") = Nothing
        Else
            e.DataRow("绝对到期时间") = e.DataRow("查扣冻时间").AddDays(e.DataRow("查扣冻期限"))
        End If
End Select

执行指挥中心_DrawCell

If e.Col.Name = "执行通知书到期日" Then
    If e.Row.IsNull("执行通知书到期日") = False
        If e.Row("执行通知书到期日") < Date.Today.AddDays(3) AndAlso e.Row("执行通知书到期日") >= Date.Today Then
            e.Style = "到期"
          
        End If
    End If
End If

If e.Col.Name = "一拍启动到期日" Then
    If e.Row.IsNull("一拍启动到期日") = False
        If e.Row("一拍启动到期日") < Date.Today.AddDays(3) AndAlso e.Row("一拍启动到期日") >= Date.Today Then
            e.Style = "拍卖"
          
        End If
    End If
End If

If e.Col.Name = "二拍启动到期日" Then
    If e.Row.IsNull("二拍启动到期日") = False
        If e.Row("二拍启动到期日") < Date.Today.AddDays(3) AndAlso e.Row("二拍启动到期日") >= Date.Today Then
            e.Style = "拍卖"
          
        End If
    End If
End If

If e.Col.Name = "变卖启动到期日" Then
    If e.Row.IsNull("变卖启动到期日") = False
        If e.Row("变卖启动到期日") < Date.Today.AddDays(3) AndAlso e.Row("变卖启动到期日") >= Date.Today Then
            e.Style = "拍卖"
          
        End If
    End If
End If


If e.Col.Name = "绝对到期时间" Then
    If e.Row.IsNull("绝对到期时间") = False
        If e.Row("绝对到期时间") < Date.Today.AddDays(15) AndAlso e.Row("绝对到期时间") >= Date.Today Then
            e.Style = "绝对到期"
        End If
    End If
End If

执行指挥中心_MouseEnterCell

If e.Col.Name = "标的物名称" AndAlso e.Row.IsNull("标的物名称") = False Then
    e.Table.ShowToolTip(e.Row("标的物名称"),e.Row,e.Col)
End If
If e.Col.Name = "上级督办或信访" AndAlso e.Row.IsNull("上级督办或信访") = False Then
    e.Table.ShowToolTip(e.Row("上级督办或信访"),e.Row,e.Col)
End If

执行指挥中心_MouseLeaveCell

If e.Col.Name = "标的物名称" Then
    e.Table.HideToolTip()
End If
If e.Col.Name = "上级督办或信访" Then
    e.Table.HideToolTip()
End If



--  作者:有点甜
--  发布时间:2019/6/27 18:47:00
--  
具体项目发上来测试