以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  老师帮忙看下,关于判断时间段的动态表达式出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129715)

--  作者:18504175995
--  发布时间:2019/1/4 15:02:00
--  老师帮忙看下,关于判断时间段的动态表达式出错
想在B表中写一个动态表达式,当A表中车牌号与B表中车牌号相等,并且B表的“开票时间”-A表的“派车时间" 大于0且小于2时,将B表当的对应列内容填入A表,在这个
If e.DataCol.name = "匹配派车" Then
    Dim gc As DataRow = e.DataRow
    Dim filter As String
    Dim pc As DataRow    
    filter = "车牌号 = \'" & gc("车牌号") & "\' and #gc("开票时间")# - # 派车日期 # > 0 And #gc("开票时间") # - # 派车日期 # <2 "
    pc = DataTables("派车信息表").Find(filter)
    If e.DataRow("匹配派车") = True And dr IsNot Nothing  Then
        e.DataRow("匹配日期") = Date.Today
        pc("开票时间")=gc("开票时间")
        pc("工厂车牌号")=gc("车牌号")
        pc("工厂业务员")=gc("工厂业务员")
        pc("购货单位")=gc("购货单位")
        pc("产品名称")=gc("产品名称")
        pc("箱号封号")=gc("箱号封号")
        pc("工厂规格")=gc("规格")
        pc("工厂质量")=gc("质量")
        pc("工厂吨数")=gc("吨数")
        pc("工厂件数")=gc("件数")
        pc("应收单价")=gc("应收单价吨")
        pc("运输方式")=gc("运输方式")
        pc("发调编号")=gc("发调编号")
        pc("提货地点")=gc("提货地点")
        pc("计划流水号")=gc("计划流水号")
        pc("经办人")=gc("经办人") 
        pc("工厂备注")=gc("备注")
        pc("匹配日期")=gc("匹配日期")
    Else
        e.DataRow("匹配日期") = Nothing
         pc("开票时间")=Nothing
        pc("工厂车牌号")=Nothing
        pc("工厂业务员")=Nothing
        pc("购货单位")=Nothing
        pc("产品名称")=Nothing
        pc("箱号封号")=Nothing
        pc("工厂规格")=Nothing
        pc("工厂质量")=Nothing
        pc("工厂吨数")=Nothing
        pc("工厂件数")=Nothing
        pc("应收单价")=Nothing
        pc("运输方式")=Nothing
        pc("发调编号")=Nothing
        pc("提货地点")=Nothing
        pc("计划流水号")=Nothing
        pc("经办人")=Nothing
        pc("工厂备注")=Nothing
        pc("匹配日期")=Nothing
    End If
End If
保存的时候提示:编译错误:应为语句结束
                      错误代码:filter = "车牌号 = \'" & gc("车牌号") & "\' and #gc("开票时间")# - # 派车日期 # > 0 And #gc("开票时间") # - # 派车日期 # <2 "

--  作者:有点甜
--  发布时间:2019/1/4 16:17:00
--  
    filter = "车牌号 = \'" & gc("车牌号") & "\' and 派车时间 >= #" & cdate(gc("开票时间")).addhours(-2) & "# and 派车时间 <= #" & gc("开票时间") & "#"
    pc = DataTables("派车信息表").Find(filter)

--  作者:18504175995
--  发布时间:2019/1/4 16:35:00
--  
十分感谢,通过了
--  作者:18504175995
--  发布时间:2019/1/4 18:05:00
--  
测试的时候出错了
错误所在事件:表,工厂数据原始表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

--  作者:有点甜
--  发布时间:2019/1/4 18:21:00
--  

这段代码删除

 

        pc("开票时间")=Nothing

        pc("工厂车牌号")=Nothing
        pc("工厂业务员")=Nothing
        pc("购货单位")=Nothing
        pc("产品名称")=Nothing
        pc("箱号封号")=Nothing
        pc("工厂规格")=Nothing
        pc("工厂质量")=Nothing
        pc("工厂吨数")=Nothing
        pc("工厂件数")=Nothing
        pc("应收单价")=Nothing
        pc("运输方式")=Nothing
        pc("发调编号")=Nothing
        pc("提货地点")=Nothing
        pc("计划流水号")=Nothing
        pc("经办人")=Nothing
        pc("工厂备注")=Nothing
        pc("匹配日期")=Nothing

--  作者:18504175995
--  发布时间:2019/1/5 13:24:00
--  
删除后是不提示错误了,可是数据也代不进A表了
--  作者:有点蓝
--  发布时间:2019/1/5 14:28:00
--  
If e.DataRow("匹配派车") = True And pc IsNot Nothing  Then