以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何获取上一行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53603)

--  作者:lfxxdt
--  发布时间:2014/7/11 14:14:00
--  如何获取上一行
我编制了{日报表}有上工序、本工序和下工序等,我想在输入本工序时,能够查找{工艺流程}中的工序所对应的本工序,上一行的工序能自动显示在上工序这一单元格,下一行的工序能自动显示在下工序这一单元格。这个应该如何编写代码。
--  作者:有点甜
--  发布时间:2014/7/11 14:31:00
--  

 参考,查找到行以后 -1、+1得到对应的行号

 

http://www.foxtable.com/help/topics/0553.htm

 


--  作者:lfxxdt
--  发布时间:2014/7/11 14:47:00
--  

With CurrentTable
    Dim
r As Integer
    r
= .FindRow("[公司名称] Like \'%湛江%\'") \'从第一行开始查找
    If
r >= 0 Then \'如果找到的话
       
.Position = r \'定位到找到的行。
   
End If
End With

 

这个查找到为湛江的上一行,如何定义,


--  作者:Bin
--  发布时间:2014/7/11 14:48:00
--  
.Position = r+1
--  作者:lfxxdt
--  发布时间:2014/7/11 14:54:00
--  
这个如何来表达上一行的信息,e.DataRow("公司名称")=上一行的公司名称(这个如何来写。)
--  作者:有点甜
--  发布时间:2014/7/11 15:04:00
--  
With Tables("表B")
    Dim r As Integer
    r = .FindRow("[公司名称] Like \'%湛江%\'") \'从第一行开始查找
    If r >= 0 Then \'如果找到的话
        e.DataRow("公司名称") = .Rows(r-1)("公司名称")
    End If
End With

--  作者:Bin
--  发布时间:2014/7/11 15:04:00
--  
With CurrentTable
    Dim 
r As Integer
    r
 = .FindRow("[公司名称] Like \'%湛江%\'"\'从第一行开始查找
    If 
r >= 0 Then \'如果找到的话
        
.Position = r+1 \'定位到找到的行。
    
End If
End With
e.DataRow("公司名称")=CurrentTable.current("公司名称")

或者参考


--  作者:lfxxdt
--  发布时间:2014/7/11 15:13:00
--  
知道了,谢谢
--  作者:lfxxdt
--  发布时间:2014/7/11 15:31:00
--  

再请教一下,我们公司的流程可能存在连续的,如:工序名称,第一行是成型,第二行是清灰,第三行是清灰,第四行是清灰,第五行是装钵,我想在日报表中输入本工序清灰,其上工序自动显示成型,下工序自动显示装钵,以下代码应该如何修改:

With Tables("工艺流程")
    Dim 
r As Integer
    r
 = .FindRow("[工序名称] Like \'% e.DataRow("本工序") %\'"\'从第一行开始查找
    If 
r >= 0 Then \'如果找到的话
        
.Position = r+1 \'定位到找到的行。
    
End If
End With

e.DataRow("下工序")=CurrentTable.current("工序名称")


--  作者:Bin
--  发布时间:2014/7/11 15:34:00
--  
不用改应该也没问题,因为是从第一行开始查找.