以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  调用另外一张表的日期出现问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65244)

--  作者:cyrollin
--  发布时间:2015/3/12 12:15:00
--  调用另外一张表的日期出现问题
代码如下:

If e.DataCol.Name = "日期" Then
    If e.NewValue = Nothing Then
        e.DataRow("星期") = Nothing
    Else
        e.DataRow("星期") = Format(e.DataRow("日期"), "dddd")
    End If
Else If (e.DataCol.Name = "星期" AndAlso e.DataRow.IsNull("星期") = False OrElse e.DataCol.Name = "新老客户") AndAlso e.DataRow("新老客户")="老客户" Then
    Dim i As Integer = 0
    Dim dr As DataRow
    SystemReady = False
    For Each fdr As DataRow In DataTables("客户数据").Select("固定时间 = \'" & e.DataRow("星期") & "\'", "固定排序,排序时间")
        If i = 0 Then
            dr = e.DataRow
        Else
            dr = e.DataTable.AddNew
        End If
        dr("日期") = e.DataRow("日期")
        dr("星期") = e.DataRow("星期")
        dr("新老客户") = e.DataRow("新老客户")
        dr("客户信息") = fdr("综合信息")
        dr("时间") = fdr("时间")
        dr("支付方式") = fdr("支付方式")
        dr("备注") = fdr("备注")
        dr("排序时间") = fdr("时间").Substring(3)
        dr("签约终止日") = fdr("签约终止日")
        dr("月总价") = fdr("月总价")
        i += 1
    Next
    e.DataTable.DeleteFor("日期 is Null")
    SystemReady = True
    Tables("派工表").sort = "日期,排序时间"
    CurrentTable.AddNew(15)
With Tables("派工表")
    .Position = .Rows.Count - 1
End With
End If

客户数据表的 签约终止日 没有输入日期,调用到派工表的签约终止日列时,会显示成这样:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150312121257.png
图片点击可在新窗口打开查看



--  作者:黄训良
--  发布时间:2015/3/12 12:28:00
--  
这是日期的默认值,检查签约终止日 列是否存在空值。
--  作者:cyrollin
--  发布时间:2015/3/12 14:02:00
--  
恩,谢谢指出。。。。我修改了一下,如下:

。。。。。
        dr("支付方式") = fdr("支付方式")
        dr("备注") = fdr("备注")
        dr("排序时间") = fdr("时间").Substring(3)
        dr("月总价") = fdr("月总价")
        If fdr("签约终止日") = Nothing
           dr("签约终止日") = Nothing
        Else
        dr("签约终止日") = fdr("签约终止日")
        End If
        i += 1
    Next
。。。。。。。。。

红色是加的,现在解决了。谢谢!


--  作者:有点甜
--  发布时间:2015/3/12 14:03:00
--  

 你可以判断,在设置进去

 

dr("签约终止日") = iif(fdr.IsNull("签约终止日"), nothing, fdr("签约终止日"))


--  作者:cyrollin
--  发布时间:2015/3/12 14:36:00
--  
哦, iif 函数真的很厉害呢。 把代码一下就简洁了。 TIANTIAN 你怎么啥都知道呢?