Foxtable(狐表)用户栏目专家坐堂 → 明细表问题


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

主题:明细表问题

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
明细表问题  发帖心情 Post By:2023/7/24 9:25:00 [只看该作者]

老师,帮处理,实例不报错,能执行,就是窗口上明细导入数据,看不到数据,要重新打开窗口才能看到,这样不友好,请帮助处理,谢谢


[此贴子已经被作者于2023/7/24 10:10:04编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/24 10:03:00 [只看该作者]

因为给单号设置了筛选条件,新增的行必须给单号列赋值,否则是看不到的

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/7/24 10:06:00 [只看该作者]

怎么处理,代码怎写?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/24 10:09:00 [只看该作者]

dmi r as row = 新建的行比如tables("明细").addnew
r("单号") = tables("主表")。current(“单号”)

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/7/24 10:23:00 [只看该作者]

Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} '
Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} '
Dim dh As String = Tables("订单主表").Current("单号")

For Each r As DataRow In DataTables("外来订单").Select("[选中] = true ")'
'
 If DataTables("订单明细").Find("编号 = '" & r("编号") & "'And 单号 = '" & dh & "'") Is Nothing Then '
        Dim dr As Row = Tables("订单登记副表导入窗口_订单明细").AddNew '
        dr("单号") = Tables("主表").Current("单号")
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
    Else
        MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        
    End If
Next
上面代码,加上红字代码,报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,外来订单导入窗口,Button2,Click
详细错误信息:
未将对象引用设置到对象的实例。





 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/24 10:30:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/7/24 10:49:00 [只看该作者]

Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} '
Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} '
Dim dh As String = Tables("订单主表").Current("单号")

For Each r As DataRow In DataTables("外来订单").Select("[选中] = true ")'
'
 If DataTables("订单明细").Find("编号 = '" & r("编号") & "'And 单号 = '" & dh & "'") Is Nothing Then '
        Dim dr As Row = Tables("订单登记副表导入窗口_订单明细").AddNew '
        dr("单号") = Tables("订单主表").Current("单号")
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
    Else
        MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        
    End If
Next

老师,如果红字有误,纠正 dr("单号") = Tables("订单主表").Current("单号"),没报错,但明细还是不见?

Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} '
Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} '


For Each r As DataRow In DataTables("外来订单").Select("[选中] = true ")'
'
 If DataTables("订单明细").Find("编号 = '" & r("编号") & "'And 单号 = '" & dh & "'") Is Nothing Then '
        Dim dr As Row = Tables("订单登记副表导入窗口_订单明细").AddNew '
        Dim dh As String = Tables("订单主表").Current("单号")
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
    Else
        MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        
    End If
Next

上面代码,报错,提示红字未声明


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/24 11:09:00 [只看该作者]

方法1,主表新增的时候直接给主表单号复制,再设置明细表的筛选条件
2、在主表datacolchanged事件,主表单号发生变化的时候,重新设置明细表的筛选条件

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/7/24 11:46:00 [只看该作者]

主表新增,加下面,也没效果
Tables("订单登记副表导入窗口_订单明细").Filter = "单号 = '" & r("单号") & "'"

'明细表-新增时
Dim r As Row = Tables("订单主表").Current '
If r IsNot Nothing Then
    e.DataRow("单号") = r("单号") 
End If

无效

老师,您方法的代码是怎么写?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110567 积分:562725 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/24 12:06:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:明细表不见问题 - 副本.zip


 回到顶部