Foxtable(狐表)用户栏目专家坐堂 → 查找是否已存在相同值,并替换值


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

主题:查找是否已存在相同值,并替换值

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


加好友 发短信
等级:幼狐 帖子:136 积分:1427 威望:0 精华:0 注册:2013/8/7 18:14:00
查找是否已存在相同值,并替换值  发帖心情 Post By:2020/5/21 19:26:00 [只看该作者]

DataColChanged表事件,加入以下代码


Dim dr As DataRow = e.DataRow
查询  Case e.DataCol.Name
    Case "工费单号"
        Dim dr2 As DataRow
        '否则在产品表查找同名的工费单号行,将找到的行赋值给变量dr
        dr2 = DataTables("应付对账单初表").Find("工费单号 = '" & e.NewValue & "'")
        If dr2 IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            
            e.DataRow("实工费") = 0
        End If
End 查询
想实现填充数据时,如果本表工费单号列已存在与现在要填充的工费单号相同的行,则本行的实工费变更为0,但以上代码执行后无效,求老师帮忙看下是什么问题?但在表中手动修改工费单号列,实工费就能实现此功能
数据是通过以下类似代码实现

Dim cmd As New SQLCommand
Dim
dt As DataTable
Dim
Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
cmd.CommandText =
"查询 * From {表A} Where 条件语句"
dt = cmd.ExecuteReader
()
For Each
dr1 As DataRow In dt.DataRows
    Dim
dr2 As DataRow = DataTables("表B").AddNew()
    For
i As Integer = 0 To Cols1.Length -1
       
dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

[此贴子已经被作者于2020/5/21 19:27:26编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/21 20:32:00 [只看该作者]

dr2 = DataTables("应付对账单初表").Find("工费单号 = '" & e.NewValue & "' and _Identify <>" & dr("_Identify"))

 回到顶部