Foxtable(狐表)用户栏目专家坐堂 → 项目打开时,当入库订单表、入库明细表、出库明细表中,没有一行数据时,系统出错,无法新增数据等操作?


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

主题:项目打开时,当入库订单表、入库明细表、出库明细表中,没有一行数据时,系统出错,无法新增数据等操作?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/11 15:24:00 [显示全部帖子]

修改删除红色代码

 

'systemready = False

If e.Table.current Is Nothing Then Return
systemready = False
Dim dr As DataRow = e.Table.Current.DataRow
Dim wz As Integer = Tables("入库订单表").FindRow(dr)
If wz >=0 Then
    Tables("入库订单表").Position = wz
End If
'SystemReady = True

'换行时,同客户列同步:
Tables("客户表").filter = ""
Dim i = Tables("客户表").FindRow("客户 = '" & e.Table.current("客户") & "'")
If i>=0 Then
    Tables("客户表").position = i
Else
    Tables("客户表").filter = "1=2"
End If

'入库订单表_入库明细表--模拟关联表:
If Forms("仓管表窗口").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim t2 As Table = Tables("仓管表窗口_入库明细表")
    With e.Table
        If .Current Is Nothing Then
            t2.Filter = "False"
        Else
            t2.Filter = "订单编号 = '" & .Current("订单编号") & "'"
        End If
    End With
End If
' "入库订单表"选择换行时,判断窗口是否已打开,若已打开,则更新Tables("仓管表窗口_入库明细表")的Filter属性,显示新选定的行.

'入库订单表_出库明细表--模拟关联表:
If Forms("仓管表窗口").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim t3 As Table = Tables("仓管表窗口_出库明细表")
    With e.Table
        If .Current Is Nothing Then
            t3.Filter = "False"
        Else
            t3.Filter = "订单编号 = '" & .Current("订单编号") & "'"
        End If
    End With
End If
' "入库订单表"选择换行时,判断窗口是否已打开,若已打开,则更新Tables("仓管表窗口_出库明细表")的Filter属性,显示新选定的行.
systemready = True


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/11 15:59:00 [显示全部帖子]

我测试没问题,请认真测试

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/11 16:17:00 [显示全部帖子]

 

上传的实例,我测试没问题。可以新增和显示。

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/11 16:42:00 [显示全部帖子]

 

那你删除【客户表】的currentChanged事件。

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/11 17:25:00 [显示全部帖子]

以下是引用fengwenliuyan在2019/4/11 16:51:00的发言:
删除后,客户表不就不同步了?那可不行

 

那修改代码

 

'下拉窗口
If Forms("仓管表窗口").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("仓管表窗口_入库明细表")
    With e.Table
        If .Current Is Nothing Then
            t.Filter = "客户 is null"
        Else
            t.Filter = "客户 = '" & .Current("客户") & "'"
        End If
    End With
End If
 ' "客户表"选择换行时,判断窗口是否已打开,若已打开,则更新Tables("仓管表窗口_入库明细表")的Filter属性,显示新选定的行.

If Forms("仓管表窗口").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim ct As Table = Tables("仓管表窗口_出库明细表")
    With e.Table
        If .Current Is Nothing Then
            ct.Filter = "客户 is null"
        Else
            ct.Filter = "客户 = '" & .Current("客户") & "'"
        End If
    End With
End If
 ' "客户表"选择换行时,判断窗口是否已打开,若已打开,则更新Tables("仓管表窗口_出库明细表")的Filter属性,显示新选定的行.

If Forms("仓管表窗口").Opened() '一定要判断用于模拟关联表的窗口是否已经打开
    Dim dt As Table = Tables("仓管表窗口_入库订单表")
    With e.Table
        If .Current Is Nothing Then
            dt.Filter = "客户 is null"
        Else
            dt.Filter = "客户 = '" & .Current("客户") & "'"
        End If
    End With
End If
 ' "客户表"选择换行时,判断窗口是否已打开,若已打开,则更新Tables("仓管表窗口_入库订单表")的Filter属性,显示新选定的行.


 回到顶部