Foxtable(狐表)用户栏目专家坐堂 → 求助,代码冲突!


  共有2047人关注过本帖树形打印复制链接

主题:求助,代码冲突!

帅哥哟,离线,有人找我吗?
hyr88
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:67 积分:690 威望:0 精华:0 注册:2016/7/13 15:14:00
求助,代码冲突!  发帖心情 Post By:2018/3/8 15:50:00 [只看该作者]

'【单号】生成
If e.DataCol.Name = "name" Then
     If e.DataRow.IsNull("name") Then
        e.DataRow("order_number") = 0
Else
          Dim ond As Date = Date.Now
          Dim ondt As String = cstr(Format(ond,"yyMMddHHmmss"))
            e.DataRow("order_number") = ondt
End If
End If

'【产品费用】统计=明细总金额{跨表统计}
Select Case e.DataCol.Name
    Case  "order_number"
    If e.DataRow("order_number") IsNot Nothing Then
        Dim Filter As String  = "order_number = " & e.DataRow("order_number")
        e.DataRow("income") = DataTables("crm").Compute("Sum(income)", Filter)
    End If
End Select
----------------------------------------------
这2段代码,在同个表。
1、第一段代码:如果删除名字,就会清空单号。
2、总统计是根据单号来统计明细表的总金额。

如果写入了名字,后来又删除名字。同时也会删除单号。(明细表里肯定是还没有相挂钩数据的)

软件就会提示错误:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2018.3.9.1
错误所在事件:表,clm,DataColChanged
详细错误信息:
调用的目标发生了异常。
语法错误:“=”运算符后缺少操作数。

有没可解决的方法呢?
[此贴子已经被作者于2018/3/8 15:51:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/8 15:55:00 [只看该作者]

If e.DataCol.Name = "name" Then
    If e.DataRow.IsNull("name") Then
        e.DataRow("order_number") = 0
    Elseif e.DataRow("order_number") = nothing then
        Dim ond As Date = Date.Now
        Dim ondt As String = cstr(Format(ond,"yyMMddHHmmss"))
        e.DataRow("order_number") = ondt
    End If
End If


'【产品费用】统计=明细总金额{跨表统计}
Select Case e.DataCol.Name
    Case  "order_number"
        If e.DataRow("order_number") <> Nothing Then
            Dim Filter As String  = "order_number = '" & e.DataRow("order_number") & "'"
            e.DataRow("income") = DataTables("crm").Compute("Sum(income)", Filter)
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
hyr88
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:67 积分:690 威望:0 精华:0 注册:2016/7/13 15:14:00
  发帖心情 Post By:2018/3/8 16:07:00 [只看该作者]

这样单号 生成有问题。
第一次这行从来没有填写过数据的,是可以生成单号的。
但是这行内容删了,再次写入,单号就生成不了了。永远只能是为0了。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/8 17:18:00 [只看该作者]

If e.DataCol.Name = "name" Then
    If e.DataRow.IsNull("name") Then
        e.DataRow("order_number") = 0
    Else
        Dim ond As Date = Date.Now
        Dim ondt As String = cstr(Format(ond,"yyMMddHHmmss"))
        e.DataRow("order_number") = ondt
    End If
End If


'【产品费用】统计=明细总金额{跨表统计}
Select Case e.DataCol.Name
    Case  "order_number"
        If e.DataRow("order_number") <> Nothing Then
            Dim Filter As String  = "order_number = '" & e.DataRow("order_number") & "'"
            e.DataRow("income") = DataTables("crm").Compute("Sum(income)", Filter)
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/8 17:19:00 [只看该作者]

如果还有问题,做个foxtable实例上传上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
hyr88
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:67 积分:690 威望:0 精华:0 注册:2016/7/13 15:14:00
  发帖心情 Post By:2018/3/8 17:32:00 [只看该作者]

多谢!
基本OK了。内容清空后,单号就变0了。
这样用也可以。

 回到顶部