以文本方式查看主题 - 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 客户数据表的 签约终止日 没有输入日期,调用到派工表的签约终止日列时,会显示成这样: |
-- 作者:黄训良 -- 发布时间: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 你怎么啥都知道呢? |