Foxtable(狐表)用户栏目专家坐堂 → [求助] 灵活数据匹配问题


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

主题:[求助] 灵活数据匹配问题

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 灵活数据匹配问题  发帖心情 Post By:2018/7/25 17:41:00 [显示全部帖子]

如果以下命令中 【目标表内容】和【修改内容】控件为 复选框;想实现同一条件下同时匹配多个字段。我的命令该怎么改?

 

 
此主题相关图片如下:360截图20180725173417951.jpg
按此在新窗口浏览图片

 


      For Each r As Row In Tables("灵活批量数据匹配表").Rows
        Dim dr As DataRow = DataTables(""& e.Form.Controls("目标表").text &"").Find(""& e.Form.Controls("目标表条件").text &"  = '" & r(""& e.Form.Controls("本表条件").text &"") & "' ")
        If dr IsNot Nothing Then
            dr(""& e.Form.Controls("目标表内容").text &"") = r(""& e.Form.Controls("修改内容").text &"")
        Else
        End  If
    Next



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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/10/26 11:00:00 [显示全部帖子]

【外线人员清单表中】明明有很多【离职日期】为空的数据、为什么结果只在【考试统计表】中新增了一条记录?

 

Dim dr As DataRow = DataTables("外线人员清单表").sqlFind("离职日期 is null")
If dr IsNot Nothing Then '如果找到的话
    Dim nd As DataRow = DataTables("考试统计表").AddNew
    nd("区域名称") = dr("区域")
    nd("工作站名称") = dr("工作站")
    nd("网格名称") = dr("网格")
    nd("装维人员姓名") = dr("姓名")
Else
End If


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/10/26 14:38:00 [显示全部帖子]

如果要加个判断条件、命令该怎么修改?

只新增【考试主题】【区域名称】【工作站名称】【职务】这几个字段、同时不重复的内容;重复的就只增加一条。 

 

Dim drs As List(of DataRow) = DataTables("考试统计表").SQLSelect("")
For Each dr As DataRow In drs
    Dim nd As DataRow = DataTables("考试合格率表").AddNew
    nd("考试主题") = dr("考试主题")
    nd("区域名称") = dr("区域名称")
    nd("职务") = dr("职务")
    nd("工作站名称") = dr("工作站名称")
Next

 

比如【考试统计表】中有数据

【考试主题】【区域名称】【工作站名称】【职务】

1                 1                1                  1

1                 1                1                  1

1                 1                1                  2

1                 1                2                  1 

命令执行后【考试合格率表】中的数据为

【考试主题】【区域名称】【工作站名称】【职务】

1                 1                1                  1

1                 1                1                  2

1                 1                2                  1 

[此贴子已经被作者于2018/10/26 14:42:57编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/10/26 15:46:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:360截图20181026154510513.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2018/12/21 2:05:00 [显示全部帖子]

以下命令在【本表条件】和【目标表条件】中的任何一个条件匹配的话、就会执行命令。如果我想改为所有条件都匹配时才执行命令。以下命令该怎么修改?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20181221020018289.jpg
图片点击可在新窗口打开查看

Dim cmd As New SQLCommand
Dim dt1 As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt1 = cmd.ExecuteScalar()

' Dim r As Row = Tables("装机工单清单表").current
If e.Form.Controls("本表条件").text = "" Or e.Form.Controls("修改内容").text = "" Or e.Form.Controls("目标表").text = "" Or e.Form.Controls("目标表条件").text = "" Or e.Form.Controls("目标表内容").text = ""  Then
   
Else
    Dim ar1() = e.Form.Controls("目标表条件").text.split(",")
    Dim ar2() = e.Form.Controls("本表条件").text.split(",")
    For t As Integer = 0 To ar2.length-1
        For Each r As Row In Tables(""& e.Form.Controls("目标表").text &"").Rows
            Dim dr As DataRow = DataTables("灵活批量数据匹配表").Find(ar2(t) & "  = '" & r(ar1(t)) & "' ")
            If dr IsNot Nothing Then
                Dim ary1() = e.Form.Controls("目标表内容").text.split(",")
                Dim ary2() = e.Form.Controls( "修改内容").text.split(",")
                For i As Integer = 0 To ary1.length-1
                    r(ary1(i)) = dr(ary2(i))
                Next
            End  If
        Next
    Next
   
   
    MessageBox.show("完成数据输出工作!!!", "非常关键提醒")
   
End If


[此贴子已经被作者于2018/12/21 2:06:37编辑过]

 回到顶部