以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎么实现目录表逐行起始页+文件页数=末尾页 并组成文件编号呢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176009)

--  作者:cnsjroom
--  发布时间:2022/3/27 11:10:00
--  怎么实现目录表逐行起始页+文件页数=末尾页 并组成文件编号呢

当前目录表中有如下字段:  文件类别  文件名    文件页数    起始页   末尾页

 

怎么实现如下效果呢

文件类别  文件名      文件页数    起始页    末尾页      文件编号

   1           qq               1           0          1            1-1

   1          ww               2           1          3            1-2

   2           tt                4           3          7            2-1

 

第一行起始页是0   末尾也是第一行文件页数0+1=1

第二行起始页是第一行的末尾页  第二行的末尾页就是第一行的末尾页+第二行文件页数2   第二行末尾页=3

依次类推下去……

 

麻烦老师老师指导下   谢谢!


--  作者:有点蓝
--  发布时间:2022/3/27 20:40:00
--  
新增行的时候,获取上一行参考

dim r as row = tables("a").addnew
if r.index > 0 then
dim r2 as row = tables("a").rows(r.index)
r("起始页") = r2("末尾页")
end if

--  作者:cnsjroom
--  发布时间:2022/3/28 0:45:00
--  回复:(有点蓝)新增行的时候,获取上一行参考dim r ...

表A列变化属性事件代码如下   红色部分怎么实现  文件类别 -  该文件类别对应记录数的编号

如文件类别为1的 有三条数据   那就依次为1-1 1-2 1-3

 
此主题相关图片如下:11.png
按此在新窗口浏览图片

当前代码如下:

Select Case e.DataCol.Name
    Case "文件页"
        e.DataRow("末尾页")=e.DataRow("起始页")+e.DataRow("文件页")
    Case "文件类别"
        e.DataRow("文件编号")=e.DataRow("文件类别") & "-" & "……"
End Select

 

 

新增第一行时起始页为0  再次新增行时  当前行起始页=上一行的末尾页  

Dim r As Row = Tables("a").addnew
If r.index > 0 Then
    \'MessageBox.Show(r.index)
    Dim r2 As Row = Tables("a").rows(r.index-1)
    r("起始页") = r2("末尾页")
Else
    r("起始页") =0
End If

[此贴子已经被作者于2022/3/28 0:45:42编辑过]

--  作者:有点蓝
--  发布时间:2022/3/28 8:33:00
--  
e.DataRow("文件编号")=e.DataRow("文件类别") & "-" & e.datatable.compute("count(文件类别)","文件类别=\'" & e.DataRow("文件类别") & "\'")
[此贴子已经被作者于2022/3/28 8:34:11编辑过]

--  作者:cnsjroom
--  发布时间:2022/3/28 11:50:00
--  回复:(有点蓝)e.DataRow("文件编号")=e.DataRow("文...
谢谢老师