以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何把符合条件的行复制剪切到另一个表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42375)

--  作者:zhangchi96
--  发布时间:2013/11/9 17:04:00
--  如何把符合条件的行复制剪切到另一个表

有两个表:在职表、不在职表,结构完全相同。 窗体中的按钮代码如下:

 

Dim  xingming As String, jsyy As String, jssj As String 

For Each dr As Row In Tables("在职教职工增减窗体_年内减少人员页-在职表").Rows

    If dr("减少原因") <> Nothing Then

        If dr("减少时间") <> Nothing  Then 

            xingming = dr("姓名")

            jsyy =  dr("减少原因")

  \'*******(此处待加代码)************

         End If

      End If

Next

 

【目标】:想把填写了“减少原因”和“减少时间”的找到的第一个姓名为“张三”的信息行从“在职表”全部剪切添加到“不在职表”,遍历所有的列名称,列数太多了,不能一个列一个列的写代码

 

请各位大师不吝指教!


--  作者:Bin
--  发布时间:2013/11/9 17:10:00
--  
你这代码,和你的需求.不对吧. 看的也迷迷糊糊的.

查找 填写了“减少原因”和“减少时间”的找到的第一个姓名为“张三”的信息行

可以这么做  datatables("表名").find("减少原因 is not null and 减少时间 is not null and 姓名=\'张三\'")

--  作者:zhangchi96
--  发布时间:2013/11/9 17:16:00
--  

我是想在“在职表”里的某一批人移到“不在职表”里,

先在“在职表”里填写“减少原因”“减少时间”。然后逐条把这些人的信息移到“不在职表”里,就是不知道如何写好这段代码,请版主赐教


--  作者:Bin
--  发布时间:2013/11/9 17:20:00
--  
为何不直接在填写的时候就移过去.
--  作者:zhangchi96
--  发布时间:2013/11/9 20:44:00
--  

没有想到这个捷径,能在填写的时候移动过去就更好了!

请教方法!


--  作者:sloyy
--  发布时间:2013/11/10 11:20:00
--  
一般我们是这样做的:在在职表里加一个逻辑列 "是否离职" ,凡是需要移动的都勾上,然后判断这个逻辑列就行了
--  作者:有点甜
--  发布时间:2013/11/10 20:08:00
--  
 楼主,循环表的所有列的代码如下,参考。

 for each c as col in tables("xxx").cols
     msgbox(c.name)
 next
[此贴子已经被作者于2013-11-10 20:08:18编辑过]