以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  类型异常  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117591)

--  作者:有点甜
--  发布时间:2018/4/15 17:46:00
--  

提示错误应该是你合成的条件不正确,如果是日期列,请用#,不要用单引号,如

 
            If flt > "" Then
                flt = flt & " and "
            End If
            flt = flt & "日期 <= #" & 变量 & "#"


--  作者:有点甜
--  发布时间:2018/4/15 18:15:00
--  
测试你的例子,没问题,请说明测试步骤。
--  作者:有点甜
--  发布时间:2018/4/15 21:52:00
--  

工作记录总表_DataColChanged

 

If e.DataCol.Name = "项目代号"  OrElse e.DataCol.Name = "填写人"  OrElse e.DataCol.Name = "计划日期" Then \'发生变化的是产品列.
    e.DataRow("能力点") = DataTables("记录能力点汇总").SQLGetComboListString("能力点", "填写人 = \'" & e.DataRow("填写人") & "\'  And 计划日期 = #" & e.DataRow("计划日期") & "#  And 项目代号 = \'" & e.DataRow("项目代号")  & "\'").replace("|", ",")
End If
If e.DataCol.Name  = "填写人" OrElse e.DataCol.Name = "计划日期" OrElse e.DataCol.Name  = "项目代号" Then
    Dim Filter As String = "[填写人] = \'" & e.DataRow("填写人") & "\' and [计划日期] = #" & e.DataRow("计划日期") & "# and [项目代号] = \'" & e.DataRow("项目代号") & "\'"
    e.DataRow("事件总评分") = DataTables("记录能力点汇总").SQLCompute("Sum(评价分值)", Filter)
End If

 

 

工作记录总表_CurrentChanged

 

If e.Table.Current IsNot Nothing Then
    Dim Filter As String = "填写人 = \'" & e.Table.Current("填写人") & "\'"
    If  DataTables("工作记录评价表").Find(Filter) Is Nothing Then \'如果对应的订单明细没有加载过
        DataTables("工作记录评价表").AppendLoad(Filter) \'则追载此订单的订单明细
    End If
End If


 

[此贴子已经被作者于2018/4/15 22:18:15编辑过]

--  作者:有点甜
--  发布时间:2018/4/15 22:18:00
--  

工作记录总表_CurrentChanged

 

If e.Table.Current IsNot Nothing Then
    Dim Filter As String = "填写人 = \'" & e.Table.Current("填写人") & "\'"
    If  DataTables("工作记录评价表").Find(Filter) Is Nothing Then \'如果对应的订单明细没有加载过
        DataTables("工作记录评价表").AppendLoad(Filter) \'则追载此订单的订单明细
    End If
End If