Foxtable(狐表)用户栏目专家坐堂 → 求助老师


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

主题:求助老师

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 21:26:00 [显示全部帖子]

 先判断,再决定是否新增

 

If e.DataCol.Name = "逻辑列名" AndAlso e.DataRow("逻辑列名") = True Then
    Dim dr As DataRow = DataTables("表B").Find("某列 = '" & e.DataRow("某列") & "'")
    If dr Is Nothing Then dr = DataTables("表B").AddNew
    For Each dc As DataCol In DataTables("表B").DataCols
        dr(dc.Name) = e.DataRow(dc.Name)
    Next
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 21:37:00 [显示全部帖子]

比如,检测历史记录表DataColChanged事件,写代码

 

If e.DataCol.Name = "自动生成" AndAlso e.DataRow("自动生成") = True Then
    Dim dr As DataRow = DataTables("隐患登记表").Find("车号 = '" & e.DataRow("车号") & "' and 日期 = #" & e.DataRow("检查日期") & "#")
    If dr Is Nothing Then dr = DataTables("隐患登记表").AddNew
    Dim nma() As String = {"车号","受控名称","检查日期"} 'A表数据来源列
    Dim nmb() As String = {"车号","隐患部位","日期"} 'B表数据接收列
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 22:10:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "车号","点位","描述","点检组归档"
        Dim dr As DataRow = e.DataRow     '将上述车号/点位/描述/点检组归档的值赋给dr变量.
        If e.DataRow("点检组归档")=Nothing Then  '如果点检组归档为空时
            If dr.IsNull("车号") = False AndAlso dr.IsNull("点位") = False AndAlso dr.IsNull("描述") = False AndAlso dr.IsNull("点检组归档")= False Then '如果左侧列都不为空.
                If e.DataTable.Compute("Count([_Identify])","车号 = '" & dr("车号") & "'And 点位 = '" & dr("点位") & "' And 描述 = '" & dr("描述") & "' And 点检组归档= '" & dr("点检组归档") & "'") > 1 Then
                   
                    MessageBox.Show("相同记录已经存在!不准重复录入","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

                    DataTables("检测历史记录").deletefor("车号 = '" & dr("车号") & "'And 点位 = '" & dr("点位") & "' And 描述 = '" & dr("描述") & "' And 点检组归档= '" & dr("点检组归档") & "'")
                    e.DataRow.Delete  '删除当前准备录入的行                   
                End If
            End If
        End If
End Select


 回到顶部