以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何实现以下数据填充需求,有实例。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153602) |
||||
-- 作者:wendude -- 发布时间:2020/8/16 23:52:00 -- [求助]如何实现以下数据填充需求,有实例。 想实现以下功能:在现场监察的表中将新增的数据,填充到全员监察3表中。列名[被检查的分队长或班组长]新增时,将现场监察中各列的数据依次复制到全员监察3表中。注意不是新增行,而是自动填充到全员监察3表中已有班组列内容中。其中[被检查的分队长或班组长]与全员监察3表中班组对应。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/17 8:47:00 --
|
||||
-- 作者:wendude -- 发布时间:2020/8/17 9:28:00 -- 感谢老师指导,在全员监察3表中每一班组下有许多成员,能否在现场监察[被检查的分队长或班组]增加后,在全员监察3表中将班组下每个成员都增加一行。不是单一一个班组增加一行,谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/17 9:38:00 -- 没看懂,请在表格里手工填写,然后截图说明 |
||||
-- 作者:wendude -- 发布时间:2020/8/17 10:03:00 -- 此主题相关图片如下:图片2.jpg 此主题相关图片如下:图片1.jpg 看表中的修改说明,及两个表截图
图片1中列新增后,图片2列所有成员新增一行
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/17 10:24:00 -- 这个意思? If e.DataCol.Name = "被检查分队长或班组长" Then Dim drs As List(Of DataRow) = DataTables("全员监察3").Select("班组=\'" & e.NewValue & "\'") For Each dr As DataRow In drs Dim nr As DataRow = DataTables("全员监察3").AddNew nr("现场监察日期") = e.DataRow("检查日期") nr("监察地点") = e.DataRow("监察地点") nr("班组成员") = dr("班组成员") Next End If |
||||
-- 作者:wendude -- 发布时间:2020/8/17 10:32:00 -- 在下面这个代码中,想实现全员监察3表中对应班组下所有成员都增加一行,并填充信息。在加粗斜线处代码那怎么改? Dim Cols1() As String = {"检查日期","检查重点","检查结果","被检查室队","被检查分队长或班组长","监察地点"} Dim Cols2() As String = {"现场监察日期","岗位","是否符合","室队","班组","监察地点"} For Each dr1 As DataRow In DataTables("现场监察").Select("[被检查分队长或班组长] = \'" & Tables("现场监察").current("被检查分队长或班组长") & "\'") Dim dr2 As DataRow = DataTables("全员监察3").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next DataTables("现场监察").Save() DataTables("全员监察3").Save()
|
||||
-- 作者:有点蓝 -- 发布时间:2020/8/17 10:34:00 -- 列名有些不一致,改为和6楼一样逐个列赋值 |
||||
-- 作者:wendude -- 发布时间:2020/8/17 10:40:00 -- If e.DataCol.Name = "被检查分队长或班组长" Then Dim drs As List(Of DataRow) = DataTables("全员监察3").Select("班组=\'" & e.NewValue & "\'") For Each dr As DataRow In drs Dim nr As DataRow = DataTables("全员监察3").AddNew nr("现场监察日期") = e.DataRow("检查日期") nr("监察地点") = e.DataRow("监察地点") nr("班组成员") = dr("班组成员") Next End If 老师这个代码是将所有对应班组都复制到全员监察3表中,我想要的是将在全员监察3表中对应班组下的成员的行新增一下。
|
||||
-- 作者:wendude -- 发布时间:2020/8/17 10:43:00 -- 如:在现场监察表中增加一个A班组,那么我想在全员监察3中所有成员如:甲、乙、病三个人都增加一行,并把现场监察表中信息对应复制。谢谢。现在的代码是把A班组的所有信息复制了一遍,请在看看。 [此贴子已经被作者于2020/8/17 10:45:44编辑过]
|