Foxtable(狐表)用户栏目专家坐堂 → [求助]有判断怎么会还提示出错


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

主题:[求助]有判断怎么会还提示出错

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
[求助]有判断怎么会还提示出错  发帖心情 Post By:2018/10/10 11:39:00 [显示全部帖子]

订单修改确认代码如下,不是已加了判断吗,怎么还会有错哪?

Dim xsdh As String = args(0)
If  Forms("订单计划一览表").Opened = True Then
    Dim cmdht As New SQLCommand
    Dim htdt As DataTable
    cmdht.C
    cmdht.CommandText = "SE LEC T * From {SG2生管订单完工情况} where 销售单号 = '" & xsdh & "'"
    htdt = cmdht.ExecuteReader()
    Dim htdr As DataRow = htdt.Find("销售单号 = '" & xsdh & "'")
    If htdr IsNot Nothing  Then
        Functions.BeginSyncExecute("订单填写",htdr)
    End If
End If

错误提示如下:


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_15391363301767(1).png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/10/10 11:45:00 [显示全部帖子]

订单填写代码如下:

Dim htdr As DataRow =Args(0)
Dim dr As DataRow = DataTables("订单计划一览表").Find("销售单号 = '"& htdr("销售单号") &"'")
If dr IsNot Nothing  Then
    '加载更新项
    Dim sfxgpd As Boolean = False
    For Each dc As DataCol In DataTables("订单计划一览表").DataCols
        Dim key As String = "订单计划一览表:" & dr("销售单号") & ":" & dc.Name
        If tbrk.Contains(key) = False Then '如果本人之前已经编辑此行,则正常编辑
            If dc.IsDate Then
                If htdr(dc.Name) = #1/1/1900# Then
                    dr(dc.Name) = Nothing
                End If
            Else If dc.Name = "操作记录" Then
                If htdr.IsNull(dc.Name) = False Then
                    If dr.IsNull(dc.Name) Then
                        dr(dc.Name) = htdr(dc.Name)
                    Else
                        If dr(dc.Name) <> htdr(dc.Name) Then
                            dr(dc.Name) = dr(dc.Name) & htdr(dc.Name)
                        End If
                    End If
                End If
            Else
                If dr(dc.Name) <> htdr(dc.Name) Then
                    dr(dc.Name) = htdr(dc.Name)
                End If
            End If
        Else
            sfxgpd = True
        End If
    Next
    If sfxgpd = False Then
        dr.Save()
    End If
Else
    Dim ndr As DataRow = DataTables("订单计划一览表").AddNew() '没有时追加行
    For Each dc As DataCol In DataTables("订单计划一览表").DataCols
        ndr(dc.Name) = htdr(dc.Name)
        If dc.IsDate Then
            If ndr(dc.Name) = #1/1/1900# Then
                ndr(dc.Name) = Nothing
            End If
        End If
    Next
    ndr.Save()
End If


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/10/10 11:47:00 [显示全部帖子]

以下是引用y2287958在2018/10/10 11:43:00的发言:
自定义函数代码呢

而且这个错误并不是每次都出来,上线两天了,多人使用中,目前出现有两次。


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/10/10 12:04:00 [显示全部帖子]

以下是引用有点蓝在2018/10/10 11:57:00的发言:
首先,订单填写完整代码给出来

其次{SG2生管订单完工情况}和"订单计划一览表"2个表所有的列名都一样?

订单填写完整代码见3楼。

列名是一样的

SEL E CT TOP 1000 [下单日期] ,[销售单号] ,[业务员] ,[品名规格] ,[P数] ,[数量] ,[总线数] ,[出货日期],[业务备注] ,[备注],[客户] ,[组别] ,[塑件材料状况],[计划生产日],[完成日期] ,[五金材料状况] ,[其它备注] ,[延迟信息] ,[是否完成] ,[合同评审单号],[原序号] ,[订单状态],[判断是否已回交期] ,[入库状态] ,[生管交期] ,[生管备注] ,[操作记录] ,[ID] ,[Identify]
  FROM [excel].[dbo].[SG2生管订单完工情况]

订单计划一览表

"下单日期""销售单号""业务员""品名规格""P数""数量""总线数""出货日期""业务备注""备注""客户""组别""塑件材料状况""计划生产日""完成日期""五金材料状况""其它备注""延迟信息""是否完成""合同评审单号""原序号""订单状态""判断是否已回交期""入库状态""生管交期""生管备注""操作记录""ID""Identify"


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/10/10 13:46:00 [显示全部帖子]

以下是引用有点蓝在2018/10/10 12:18:00的发言:
Functions.BeginSyncExecute("订单填写",htdr)

改为

Functions.Execute("订单填写",htdr)

函数里有操作表格的用法,不适合使用异步函数:http://www.foxtable.com/mobilehelp/scr/277.htm

用Execute不是在子线程中操作当前表了,不是不可以在子线程中操作界面和访问主线程的表吗?这里的帮助有写http://www.foxtable.com/mobilehelp/index.htm?page=277.htm


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/10/10 15:07:00 [显示全部帖子]

以下是引用有点蓝在2018/10/10 14:18:00的发言:
不理解你的意思。

订单修改确认函数是异步调用的?

是异步调用的。


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/10/10 15:07:00 [显示全部帖子]

以下是引用有点甜在2018/10/10 14:29:00的发言:

1、偶尔一两次报错?并不是每次执行到函数都报错?这样的错误比较难排查;

 

2、是不是你【订单填写】函数操作了表格,触发了【表事件】导致的出错?

这个我在查查,这个问题是不大容易解决。


 回到顶部