以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于行字段的重复判断咨询? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116756) |
-- 作者:guosheng -- 发布时间:2018/3/30 15:27:00 -- 关于行字段的重复判断咨询? 表的增加行,跳转录入窗口,录入窗口的确定按钮事件:测试结果,只有一个设置为1(红色阴影),一个设置为0(红色阴影)。为什么呢? Dim dr =Tables("工程款项支付预算部审核表").current …… ElseIf Tables("工程款项支付预算部审核表").Compute("Count([_Identify])","合同档案编号 = \'" & dr("合同档案编号") & "\' And 产值年份 = "& dr("产值年份") &" And 产值月份 = "& dr("产值月份") &"")>1 Then MessageBox.Show("已经存在相同的合同及年月的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Dim dr =Tables("合作商基本信息表").current If e.Form.Controls("公司名称").value Is Nothing messagebox.show("公司名称不能为空") ElseIf Tables("合作商基本信息表").Compute("Count([_Identify])","公司名称 = \'" & dr("公司名称").trim() & "\' And 承办部门= \'"& user.group &"\'")> 0 Then MessageBox.Show("已经存在相同合作商名称的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
|
-- 作者:有点甜 -- 发布时间:2018/3/30 15:34:00 -- Compute("count(xxx)") 统计了符合规则的行数,如果大于1,说明有2行以上;如果大于0,说明有1行以上。
你具体哪里不明白? |
-- 作者:guosheng -- 发布时间:2018/3/30 15:45:00 -- 感觉两个判断条件类似,为什么第二个只有将统计个数设置为>0,才能使得相同的行只能录入一行呢?(经过测试确实设置的统计数量不同) 如果将第二个条件也设置为>1,则可以输入两条一样的数据。
[此贴子已经被作者于2018/3/30 15:47:32编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/3/30 16:05:00 -- 因为你当前编辑的是【工程款项支付预算部审核表】表。
你输入数据之后,此表如果有2条数据,说明重复,如果只有1条数据,就是你当前输入的数据。
而对于别的表,不是这样判断。 |