Foxtable(狐表)用户栏目专家坐堂 → 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值


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

主题:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/10 20:14:00 [显示全部帖子]

有没有在后台数据库里设置表关联?

Dim r As Row = Tables("销售订单").Current
If  r IsNot Nothing AndAlso r.DataRow.RowState = DataRowState.Added Then
MessageBox.Show(1)
    If Tables("销售明细表").Current Is Nothing Then
        MessageBox.Show("No details cannot be saved 无订单明细,无法保存!", "Error 错误提示")
        r.Delete
MessageBox.Show(2)
    Else
        r("客户名称") = e.Form.Controls("DropBox3").Text
        r("客户电话") = e.Form.Controls("DropBox1").Text
        r("折扣") = e.Form.Controls("TextBox3").Text
        r("备注") = r("备注") & vbcrlf & e.Form.Controls("TextBox4").Text
MessageBox.Show(3)

            r.Save
MessageBox.Show(5)
            Tables("销售订单").AllowEdit = False
MessageBox.Show(7)
        Tables("销售明细表").save
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/10 22:39:00 [显示全部帖子]

建议上传具体实例详细测试

方法1、全部改为模拟关联:http://www.foxtable.com/webhelp/scr/2222.htm
2、不要在BeforeSaveDataRow事件生成编号,而是新增行后马上获取新编号,就是不使用临时编号,而是直接使用正式编号

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/10 23:19:00 [显示全部帖子]

1、模拟关联肯定没有问题,因为不需要建立关联表
2、局域网多人使用一样可以使用正式编号,帮助仅仅是提供一种用法,不代表这种用法是上帝而不可侵犯。学习帮助最主要的还是学习帮助解决问题的逻辑,而不是完抄。
其实只需要保存更新[编号]表即可,业务表不保存也一样可以使用正式编号

 回到顶部