Foxtable(狐表)用户栏目专家坐堂 → 选中合计行再保存报错


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

主题:选中合计行再保存报错

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


加好友 发短信
等级:小狐 帖子:348 积分:2679 威望:0 精华:0 注册:2018/11/11 15:52:00
选中合计行再保存报错  发帖心情 Post By:2023/1/18 20:30:00 [显示全部帖子]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.1.1
错误所在事件:窗口,入库通知单登记,保存,Click
详细错误信息:
未将对象引用设置到对象的实例。


Tables("入库明细").Cols("厂发数量").GrandTotal = True '指定要合计的列
Tables("入库明细").Cols("厂发重量").GrandTotal = True
Tables("入库明细").Cols("理计数量").GrandTotal = True '指定要合计的列
Tables("入库明细").Cols("理计重量").GrandTotal = True
Tables("入库明细").Cols("码单数量").GrandTotal = True '指定要合计的列
Tables("入库明细").Cols("码单重量").GrandTotal = True
Tables("入库明细").Cols("含税金额").GrandTotal = True
Tables("入库明细").GrandTotal = True '显示合计模式


操作时选中合计行再保存会报错

[此贴子已经被作者于2023/1/18 20:31:46编辑过]

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


加好友 发短信
等级:小狐 帖子:348 积分:2679 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/19 10:31:00 [显示全部帖子]

Dim sts As String() = {"入库单号", "入库日期", "结算单位", "项目名称", "仓库名称", "业务类别", "采购类型"}
For Each st As String In sts '关联字段任一字段为空的话,不能新增明细表数据
    If Forms("入库通知单登记").controls(st).value Is Nothing Then
        MessageBox.Show("请将红色必填字段 " & st & " 填写完整!", "提醒")
        Return
    End If
Next

MessageBox.Show(1)

If Tables("入库明细").rows.count = 0 Then
    MessageBox.Show("入库明细没有数据!", "提醒")
    Return
End If

MessageBox.Show(2)

Dim dr As String() = {"品名", "材质", "规格", "产地", "厂发数量", "厂发重量","厂发单价", "含税金额"}
For Each mx As String In dr
    If Tables("入库明细").Current.isnull(mx) = True Then
        MessageBox.Show("入库明细中  " & mx & "  填写完整!", "提醒")
        Return
    End If
Next

MessageBox.Show(3)

For Each dt As DataTable In DataTables
    If dt.HasChanges Then
        e.Form.Controls("Label16").text = "正在保存数据..."
        Application.Doevents
        dt.Save
        e.Form.Controls("Label16").text = ""
    Else
        e.Form.Controls("Label16").text = ""
        e.Form.Controls("新单").Enabled = True
        e.Form.Controls("退出").Enabled = True
    End If
Next

MessageBox.Show(4)

'录入码单勾选
Tables("入库明细码单").AllowEdit =  False
Dim gx As WinForm.CheckBox = e.Form.Controls("需要录入码单")
gx.Checked = False
e.Form.Controls("码单增加").Enabled = False
e.Form.Controls("码单编辑").Enabled = False
e.Form.Controls("码单行复制").Enabled = False
e.Form.Controls("码单删除").Enabled = False
e.Form.Controls("码单保存").Enabled = False

MessageBox.Show(5)

 

 

MessageBox.Show(3)没有通过,提示这个错误代码。没看出什么问题,老师帮忙看下谢谢

 

 

[此贴子已经被作者于2023/1/19 10:32:18编辑过]

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


加好友 发短信
等级:小狐 帖子:348 积分:2679 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/19 10:36:00 [显示全部帖子]

保存只要选择的当前不是合计行不会报错,当前选到合计行去保存报错

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


加好友 发短信
等级:小狐 帖子:348 积分:2679 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2023/1/19 19:25:00 [显示全部帖子]

Dim dr As String() = {"品名", "材质", "规格", "产地", "厂发数量", "厂发重量", "厂发单价", "含税金额"}
If Tables("入库明细").Current IsNot Nothing Then 
    For Each mx As String In dr
        If Tables("入库明细").Current.isnull(mx) = True Then
            MessageBox.Show("入库明细中  " & mx & "  填写完整!", "提醒")
            Return
        End If
    Next
End If
加了红色的不出错提示了,意思是当前行不是空行?

 回到顶部