以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何写入工龄_年,工龄_月,工龄_日? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46360) |
-- 作者:wren -- 发布时间:2014/2/21 15:47:00 -- 如何写入工龄_年,工龄_月,工龄_日? 请问我在项目事件里在AfterOpenProject事件中添加代码: DataTables("员工明细表").DataCols("入职日期").RaiseDataColChanged() 提示: 错误所在事件:表,员工明细表, DataColChanged 详细错误信息: 调用的目标发生了异常。 列“工龄”不属于表 员工明细表。 |
-- 作者:Bin -- 发布时间:2014/2/21 15:48:00 -- 建议您用这个方法: http://www.foxtable.com/help/topics/1485.htm 先找出是哪一行出错,然后分析原因,搞不定,可以在论坛发帖,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。
|
-- 作者:wren -- 发布时间:2014/2/21 16:24:00 -- .NET Framework 版本:2.0.50727.4971 Foxtable 版本:2013.10.14.1 错误所在事件:表,员工明细表, DataColChanged 详细错误信息: 调用的目标发生了异常。 (从类型“Integer”到类型“Date”的转换无效。) 请问这是什么意思 |
-- 作者:Bin -- 发布时间:2014/2/21 16:25:00 -- 你把数值 当作日期来使用了. 你把代码发出来看看
|
-- 作者:狐狸爸爸 -- 发布时间:2014/2/21 16:28:00 -- 错误提示其实很清楚了,员工明细表的DataColChanged事件有问题,员工名字表没有工龄这一列,看图片应该是“工龄_年” 你可以贴出员工明细表的DataColChanged事件给大家看看。 |
-- 作者:wren -- 发布时间:2014/2/21 16:31:00 -- Select Case e.DataCol.name Case "入职日期" If e.DataRow.IsNull("入职日期") Then e.DataRow("工龄_年") = Nothing e.DataRow("工龄_月") = Nothing e.DataRow("工龄_日") = Nothing Else Dim y,m,d As Integer DateYMD(e.DataRow("入职日期"),Date.Today,y,m,d) e.DataRow("工龄_年") = y e.DataRow("工龄_月") = m e.DataRow("工龄_日") = d End If End Select
|
-- 作者:Bin -- 发布时间:2014/2/21 16:39:00 -- e.DataRow("工龄_年") = y e.DataRow("工龄_月") = m e.DataRow("工龄_日") = d 错误原因应该是你这3个列的类型是日期类型, 应该改为数值类型
|
-- 作者:狐狸爸爸 -- 发布时间:2014/2/21 16:42:00 -- 直接做个例子文件发上来,一分钟就知道结果 [此贴子已经被作者于2014-2-21 16:42:37编辑过]
|
-- 作者:wren -- 发布时间:2014/2/21 16:42:00 -- 真的是这样~~谢谢~~ |