以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨表自动更新数据出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127847)

--  作者:ZJZK2018
--  发布时间:2018/11/23 13:35:00
--  跨表自动更新数据出错
新增行后输入施工日期就出错, 下面红色代码出错,


Dim dr As DataRow = e.DataRow
Select e.DataCol.Name
    Case "每日摘要"
        Dim fil As String = "施工日期 = #" & dr("施工日期") & "# And 附件编号 = \'" & dr("附件编号") & "\'"
        Dim fdr As DataRow = DataTables("每日工作").Find(fil)
        If fdr Is Nothing Then
            Dim ndr As DataRow = DataTables("每日工作").AddNew()
            For Each dc As DataCol In DataTables("每日工作").DataCols
                If e.DataTable.DataCols.Contains(dc.Name) Then
                    ndr(dc.Name) = dr(dc.Name)
                End If
            Next
        End If
End Select
\'msgbox(11)
Select e.DataCol.Name
    Case "附件编号","施工日期","每日摘要"
        Dim nm As String = IIF(e.DataCol.Name = "附件编号",e.OldValue,e.DataRow("附件编号"))
        Dim dnm As String = IIF(e.DataCol.Name = "施工日期",e.OldValue,e.DataRow("施工日期"))
        Dim fil As String = "施工日期 = # " & dnm & " # And 附件编号 = \'" & nm & "\'"
        Dim fdr As DataRow = DataTables("每日工作").Find(fil)
        If fdr IsNot Nothing Then
            For Each dc As DataCol In DataTables("每日工作").DataCols
                If e.DataTable.DataCols.Contains(dc.Name) Then
                    fdr(dc.Name) = dr(dc.Name)
                End If
            Next
        Else
            Return
        End If
End Select

错误提示:

.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2018.9.9.1
错误所在事件:表,监理通知单,DataColChanged
详细错误信息:
调用的目标发生了异常。
该字符串未被识别为有效的 DateTime。
[此贴子已经被作者于2018/11/23 13:36:50编辑过]

--  作者:有点甜
--  发布时间:2018/11/23 15:21:00
--  

你的【施工日期】列是日期列吗?

 

msgbox(dnm) 弹出的内容是什么?


--  作者:ZJZK2018
--  发布时间:2018/11/23 16:30:00
--  
附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文本框自动编号.foxdb



--  作者:有点甜
--  发布时间:2018/11/23 16:34:00
--  

改成

 

        Dim dnm As Date = IIF(e.DataCol.Name = "施工日期",e.OldValue,e.DataRow("施工日期"))