Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2871人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/23 12:09:00 [显示全部帖子]

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报账单.table


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/24 17:33:00 [显示全部帖子]

1、要汇总的列,改成数值列,不能是字符列。

 

For Each ary() As String In DataTables("报账单").GetValues("日期|支款方式")
    Dim d As Date = ary(0)
    Dim s As String = ary(1)
    Dim filter As String = "日期 = #" & d & "# and 支款方式 = '" & s & "'"
    Dim fdr As DataRow = DataTables("小委托").find(filter & " and 项目摘要_第一行 = '取报账款汇总'")
    If fdr Is Nothing Then
        fdr = DataTables("小委托").AddNew
        fdr("日期") = d
        fdr("支款方式") = s
        fdr("项目摘要_第一行") = "取报账款汇总"
    End If
    fdr("附件张数") = DataTables("报账单").Compute("sum(单据张数)", filter)
    fdr("列支渠道_第一行") = "取现金"
Next

 

2、

 

第一行:

 

vars("idx") = 0

'下面代码一样

 

最末页

 

Dim t As Table = Tables("大委托.小委托")
Dim idx = t.Rows.count Mod 3
vars("idx") = iif(idx = 0, t.Rows.count-3, (t.Rows.count \ 3) * 3)
Dim count As Integer = 0

'下面代码一样


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/24 17:36:00 [显示全部帖子]

3、加零的问题

 

    e.Form.controls("lbl_d" & Format(j, "00")).Text = CUNum(val(GetDigit(sum,8-j,"")))

 

4、加¥的问题,本来就加了 ¥的


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/25 15:48:00 [显示全部帖子]

1、生成编号,参考 http://www.foxtable.com/help/topics/2403.htm

 

2、e.Form.Controls("lbl_01").text = "¥" & sum

 

3、预览我测试没问题,打印按钮

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Doc.AutoRotate = False
Doc.PageSetting.Landscape = True
doc.Print

 

4、4楼的代码,你全部写也没问题,反正都要计算一次。如果要加条件,就这样写

 

For Each ary() As String In DataTables("报账单").GetValues("日期|支款方式", Tables("报账单").Filter)

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/25 16:42:00 [显示全部帖子]

1、做一个表记录便后,每打印一次,不断递增;

 

2、代码就是汇总到小委托里面啊。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/25 17:06:00 [显示全部帖子]

加一个表记录上一次的编号,然后根据这个编号递增即可,参考 http://www.foxtable.com/help/topics/2403.htm

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/25 17:12:00 [显示全部帖子]

比如代码

 

Dim str As String = Tables("表A").Rows(0)("第一列")
If str > "" Then
    str = format(Date.today, "yyyyMM") & format(cint(str.SubString(7))+1, "000")
Else
    str = format(Date.today, "yyyyMM") & format(1, "000")
End If

Tables("表A").Rows(0)("第一列") = str


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/26 9:31:00 [显示全部帖子]

 

看12楼那样编码,打印的时候,就给这四行生成一个编码。你可以加入一列编码列,直接给这四行赋值为这个编码,以后如果编码不为空,就不要递增生成。

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/26 15:04:00 [显示全部帖子]

 什么不能正确生成啊,生成的str就是编号

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/26 17:17:00 [显示全部帖子]

1、新建一个表用来记录递增的编号;

 

2、生成编号以后,直接给赋值给文本框就行;

 

3、如果你要记录进每一行,就在循环每一行的时候,赋值进编号列里去

[此贴子已经被作者于2016/2/26 17:24:46编辑过]

 回到顶部
总数 12 1 2 下一页