以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求教!Datacol 的值无法转换为 Date  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=176016)

--  作者:15958896733
--  发布时间:2022/3/27 18:34:00
--  求教!Datacol 的值无法转换为 Date

老师,代码运行总提示 Datacol 的值无法转换为 Date

 

如下:

 

Dim a As Date = DataTables("加工计划").DataCols("进度信息_节点时间")
Dim b As Date = DataTables("加工计划").DataCols("进度信息_当前进度")
If a >= Date.Today Then
    b = "正常"
Else
    b = "延误"
End If

 

目的是想判断 “进度信息_节点时间”列的时间 >= 当前日期(今天),则 "进度信息_当前进度" 列显示为“正常”,否则为“延误”

不知道如何实现,恳请老师指点图片点击可在新窗口打开查看


--  作者:新福星
--  发布时间:2022/3/27 18:51:00
--  
Dim b As String = DataTables("加工计划").DataCols("进度信息_当前进度") 这么改试下
--  作者:15958896733
--  发布时间:2022/3/27 18:56:00
--  

都试过,然后变成Datacol 的值无法转换为 string图片点击可在新窗口打开查看

 


--  作者:chnfo
--  发布时间:2022/3/27 19:56:00
--  
Dim a As Date = DataTables("加工计划").DataCols("进度信息_节点时间")
Dim b As Date = DataTables("加工计划").DataCols("进度信息_当前进度")

这是哪儿跟哪个啊。
dim a as datacol = DataTables("加工计划").DataCols("进度信息_节点时间")

如果是要获得某一行的日期值,应当是

dim a as date = DataTables("加工计划").datarows(0)("进度信息_节点时间")


[此贴子已经被作者于2022/3/27 19:57:10编辑过]

--  作者:有点蓝
--  发布时间:2022/3/27 20:57:00
--  
如果要在表事件处理应该这样:http://www.foxtable.com/webhelp/topics/0625.htm

datacolchanged事件

If e.DataCol.Name = "进度信息_节点时间" Then
    
If e.DataRow.IsNull("进度信息_节点时间"Then
        e.
DataRow("进度信息_当前进度") = Nothing
    
Else
if e.DataRow("进度信息_节点时间">= Date.Today
        e.DataRow("进度信息_当前进度") = "正常"
Else
    e.DataRow("进度信息_当前进度") = "延误"
End If
    End
 If
End If


--  作者:15958896733
--  发布时间:2022/3/28 9:34:00
--  

老师,正在边学习边尝试中。

老师,按您的代码执行后没有报错,但是我的“进度信息_当前进度”没有任何显示,不是道是哪里出问题了

您帮忙再看看


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


--  作者:有点蓝
--  发布时间:2022/3/28 9:47:00
--  
选中时间列,重置一下:http://www.foxtable.com/webhelp/topics/1469.htm
--  作者:15958896733
--  发布时间:2022/3/28 9:57:00
--  

可以了,谢谢老师,刚接触,看得有点晕乎了,反复看了几遍,老记不住,总是有种在哪里看到过,却又想不起在哪一章看过的图片点击可在新窗口打开查看

还是要多看看,多练