以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助] 灵活数据匹配问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122446)
|
-- 作者:wumingrong1
-- 发布时间: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
|
-- 作者:有点甜
-- 发布时间:2018/7/25 20:28:00
--
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 Dim ary1() = e.Form.Controls("目标表内容").text.split(",") Dim ary2() = e.Form.Controls("修改内容").text.split(",") For i As Integer = 0 To ary1.length-1 dr(ary1(i)) = r(ary2(i)) Next End If Next
|
-- 作者:wumingrong1
-- 发布时间: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
|
-- 作者:有点蓝
-- 发布时间:2018/10/26 11:03:00
--
Dim drs As List(of DataRow) = DataTables("外线人员清单表").SQLSelect("离职日期 is null") For Each dr As DataRow In drs Dim nd As DataRow = DataTables("考试统计表").AddNew nd("区域名称") = dr("区域") nd("工作站名称") = dr("工作站") nd("网格名称") = dr("网格") nd("装维人员姓名") = dr("姓名") Next
|
-- 作者:wumingrong1
-- 发布时间: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编辑过]
|
-- 作者:有点蓝
-- 发布时间:2018/10/26 14:50:00
--
Dim drs As List(of String()) = DataTables("考试统计表").SQLGetValues("考试主题|区域名称|工作站名称|职务") For Each s As String In drs nd("考试主题") = s(0) nd("区域名称") = s(1) nd("工作站名称") = s(2) nd("职务") = s(3)Next
|
-- 作者:wumingrong1
-- 发布时间:2018/10/26 15:46:00
--
此主题相关图片如下:360截图20181026154510513.jpg
|
-- 作者:有点蓝
-- 发布时间:2018/10/26 16:03:00
--
For Each s As String() In drs
|
-- 作者:wumingrong1
-- 发布时间: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编辑过]
|
-- 作者:有点甜
-- 发布时间:2018/12/21 9:19:00
--
Dim ar1() = e.Form.Controls("目标表条件").text.split(",") Dim ar2() = e.Form.Controls("本表条件").text.split(",") For Each r As Row In Tables(""& e.Form.Controls("目标表").text &"").Rows Dim str As String = "1=1" For t As Integer = 0 To ar2.length-1 str &= " and " & ar2(t) & " = \'" & r(ar1(t)) & "\' " Next Dim dr As DataRow = DataTables("灵活批量数据匹配表").Find(str) 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
|