以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  增加行报错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=191456)

--  作者:zhuxinhui
--  发布时间:2024/4/18 0:06:00
--  增加行报错
If Tables("进销存入库").Rows.Count = 0 Then
    Syscmd.Row.AddNew()
ElseIf Tables("进销存入库").Rows.Count > 0 Then
    Dim r As Row = Tables("进销存入库").Current
    If r("制单") = "" Then
        r("制单") = User.Name
    End If
    If Tables("进销存入库.进销存入库明细").rows.count <= 0 Then
        Return
    End If
    If e.Form.controls("DropBox1").value = "" Then
        MessageBox.Show("请录入部门!", "提示", MessageBoxButtons.Ok, MessageBoxIcon.Information)
        Return
    End If
    If e.Form.controls("DropBox3").value = "" Then
        MessageBox.Show("请录入仓库名称!", "提示", MessageBoxButtons.Ok, MessageBoxIcon.Information)
        Return
    End If
      
    Dim dr As Row = Tables("进销存入库").AddNew()
    dr("日期") = Date.Today()
    dr("制单") = User.Name
    dr("系统") = "客户模具"
    dr("单据类型") = "模具借入"
End If


在打开窗口时,没有符合条件的行加载出来,在增加行时出错。
如果不考虑在录入过程中出错的情况,直接使用Dim dr As Row = Tables("进销存入库").AddNew()是可以的,
但是考虑录入过程中出错时,使用上面的代码,又会出现刚加载表时没有数据的可能出错。
Syscmd.Row.AddNew()使用这句还是不行
这个需要怎样处理呢???

--  作者:zhuxinhui
--  发布时间:2024/4/18 0:08:00
--  
增加行失败,无有效行
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20240417235912.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/4/18 8:51:00
--  
这个错误提示的意思是,父表必须先增加一行(至少有一行),然后才能在关联表里新增。不然关联表新增的时候无法填入关联的父表对应编号
--  作者:zhuxinhui
--  发布时间:2024/4/18 8:57:00
--  
我知道是这个意思,现在就是不知怎样解决
--  作者:有点蓝
--  发布时间:2024/4/18 8:58:00
--  
先给父表增加一行啊
--  作者:zhuxinhui
--  发布时间:2024/4/18 8:59:00
--  
现在启动系统时,基本上都是不加载数据的,或者加载当月某种类型数据时不存在
--  作者:有点蓝
--  发布时间:2024/4/18 9:01:00
--  
不存在就给父表新增一行。

或者在子表新增,不要在关联表里新增

--  作者:zhuxinhui
--  发布时间:2024/4/18 9:10:00
--  
现在主要的问题是每个月初或未录入的单据类别都会出现这种情况
--  作者:有点蓝
--  发布时间:2024/4/18 9:16:00
--  
要在关联表新增就必须先在父表新增,要么就不要在关联表新增,在子表新增。
--  作者:zhuxinhui
--  发布时间:2024/4/18 9:18:00
--  
甘就是无办法了,只能改改加载条件了