Foxtable(狐表)用户栏目专家坐堂 → SystemIdle错误


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

主题:SystemIdle错误

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107677 积分:547706 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 11:58:00 [只看该作者]

回9楼,颜色建议还是在Drawcell处理

测试

.....
If dr IsNot Nothing Then
msgbox(0)
        SystemReady = False
        DataTables("历史材料").RemoveFor("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'") '  
        DataTables("历史材料").AppendLoad("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")'
SystemReady = True
        wz = Tables("历史材料").FindRow("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
msgbox(wz)
        If wz >= 0 Then
msgbox(1)
            Tables("历史材料").Position = wz
        End If
        
    End If

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/26 13:57:00 [只看该作者]

测试结果为:

执行后:弹出 :  0   ,然后, 弹:  -1。findrow找不到行。

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/26 14:28:00 [只看该作者]

If Tables("历史材料明细").Focused Then
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return '则返回
    End If
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("历史材料").Find("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
    If dr IsNot Nothing Then
        'msgbox(0)
        SystemReady = False
        DataTables("历史材料").RemoveFor("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'") '
        DataTables("历史材料").AppendLoad("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")'
        Tables("历史材料").filter="[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'"
        SystemReady = True
        wz = Tables("历史材料").FindRow("[历史材料编号] = '" & e.Table.Current("历史材料编号") & "'")
        'msgbox(wz)
        If wz >= 0 Then
            'msgbox(1)
            Tables("历史材料").Position = wz
        End If
    End If
End If
这样好像行了。

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/5/26 17:13:00 [只看该作者]

我知道原因了,
1、最开始因为主表与明细 当前行的双向联动;所以要把代码从:currechanged改到click;
2、因为主表加载时,又加载明细。所以在查询里,先判断明细是否已经加载 。代码又改成如下:

'历史合同当前行定位----------------------------------------------------
If Tables("历史合同明细").Focused Then
    If e.Table.Current Is Nothing Then '如果Current为Nothing
        Return '则返回
    End If
    Dim wz As Integer
    Dim dr As DataRow
    dr = DataTables("历史合同").sqlFind("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")
    If dr IsNot Nothing Then
        'msgbox(0)
        Dim dr1 As DataRow = DataTables("历史合同").Find("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")
        If dr1 Is Nothing Then
            SystemReady = False
            DataTables("历史合同").RemoveFor("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'") '
            DataTables("历史合同").AppendLoad("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")'
            Tables("历史合同").filter="[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'"
            wz = Tables("历史合同").FindRow("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")
            'msgbox(wz)
            If wz >= 0 Then
                'msgbox(1)
                Tables("历史合同").Position = wz
            End If
            SystemReady = True
        Else
            Tables("历史合同").filter="[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'"
            wz = Tables("历史合同").FindRow("[历史合同编号] = '" & e.Table.Current("历史合同编号") & "'")
            'msgbox(wz)
            If wz >= 0 Then
                'msgbox(1)
                Tables("历史合同").Position = wz
            End If
        End If
    End If
End If

 回到顶部
总数 14 上一页 1 2