以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动累加  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95216)

--  作者:jinzhengbe
--  发布时间:2017/1/13 12:35:00
--  自动累加
添加新的行的时候判断
是应该卸载beforeadddatarow事件吧

内容如下

添加新数据之前  判断  当前表(weixin.ding)是否有相同的name
如果有

在原先相同name 行加1

没有的话 就 添加行


--  作者:有点色
--  发布时间:2017/1/13 12:45:00
--  

name从哪里来?

 

Dim name = "aaa"

Dim fdr As DataRow = e.DataTable.Find("name = \'" & name & "\'")

If fdr IsNot Nothing Then

    msgbox("已存在")

    fdr("某列") += 1

End If


--  作者:jinzhengbe
--  发布时间:2017/1/13 16:41:00
--  
name是当前表的name列

需要注意的是当前表是 关联表的 子表

还请大师再次指点


--  作者:有点色
--  发布时间:2017/1/13 17:05:00
--  

Dim name = Tables("父表").Current("name)

Dim fdr As DataRow = e.DataTable.Find("name = \'" & name & "\'")

If fdr IsNot Nothing Then

    msgbox("已存在")

    fdr("某列") += 1

End If


--  作者:jinzhengbe
--  发布时间:2017/1/13 19:09:00
--  
Dim name = Tables("weixindanhao.weixin").Current("name")
Dim fdr As DataRow =Tables("weinxindanhao.weixin").Find("name = \'" & name & "\'")
If fdr IsNot Nothing Then
    msgbox("已存在")
    fdr("shuliang") += 1
With Tables("weixindanhao.weixin")
  .Current.Delete()
End With
End If

我想要的是这个效果
在weixindanhao.weixin表里查询 name是否存在
如果存在 在原来的行 shuling 加1
并且 删除当前行

如果没有存在 就添加行


--  作者:有点蓝
--  发布时间:2017/1/13 21:20:00
--  
Dim r As Row = Tables("weixindanhao.weixin").Current
Dim fdr As DataRow =Tables("weinxindanhao.weixin").Find("name = \'" & r("name") & "\' and [_Identify] <> " & r("_Identify"))
If fdr IsNot Nothing Then
    msgbox("已存在")
    fdr("shuliang") += 1
    r.Delete()
End If

--  作者:jinzhengbe
--  发布时间:2017/1/15 13:49:00
--  
编译错误 没有可访问的find接受此数目的参数,因此决策失败

Dim fdr As DataRow =Tables("weinxindanhao.weixin").Find("name = \'" & r("name") & "\' and [_Identify] <> " & r("_Identify"))

--  作者:有点色
--  发布时间:2017/1/15 14:16:00
--  
Dim r As Row = Tables("weixindanhao.weixin").Current
Dim idx as Row = Tables("weinxindanhao.weixin").FindRow("name = \'" & r("name") & "\' and [_Identify] <> " & r("_Identify"))
If idx >= 0 Then
    msgbox("已存在")
    Tables("weinxindanhao.weixin").Rows(idx)("shuliang") += 1
    r.delete
End If

--  作者:jinzhengbe
--  发布时间:2017/1/15 16:46:00
--  
没有为类型row 和integer定义运算符

if idx>=0 then


出现上面的错误


--  作者:有点色
--  发布时间:2017/1/15 16:47:00
--  
Dim r As Row = Tables("weixindanhao.weixin").Current
Dim idx as Integer = Tables("weinxindanhao.weixin").FindRow("name = \'" & r("name") & "\' and [_Identify] <> " & r("_Identify"))
If idx >= 0 Then
    msgbox("已存在")
    Tables("weinxindanhao.weixin").Rows(idx)("shuliang") += 1
    r.delete
End If