Foxtable(狐表)用户栏目专家坐堂 → 专业报表提取打印参数出错


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

主题:专业报表提取打印参数出错

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
专业报表提取打印参数出错  发帖心情 Post By:2014/3/12 14:49:00 [只看该作者]

用表中的整数型变量的值设置打印参数会提示出错。


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

 

     '检查当前表单是否设计了打印模板
                Dim dr As DataRow = DataTables("Argtb").Find("tbN = '" & Mtb & "'")
                If dr IsNot Nothing Then
                    '设置打印纸张
                    doc.PageSetting.PaperKind = dr("PaperKind")
                    doc.PageSetting.Landscape = dr("Landscape") '是否横向打印

                    'Doc.PageSetting.LeftMargin = dr("PageL")  '设置左边距
                    Doc.PageSetting.LeftMargin = CInt(dr("PageL")) '设置左边距
                    Doc.PageSetting.RightMargin = CInt(dr("PageR")) '设置右边距
                    Doc.PageSetting.TopMargin = CInt(dr("PageT")) '设置上边距
                    Doc.PageSetting.BottomMargin = CInt(dr("PageB")) '设置下边距
                Else
                    MessageBox.Show("当前表单未设计打印模板!","提示")
                    Return 
                End If

 

上面表中提取的数值全部是整数型的,但奇怪的是蓝色的两行代码执行不出错,下面设置页边距的四行不加Cint转换就会出错,是什么原因?谢谢!



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/12 14:50:00 [只看该作者]

你列PaperKind应该是字符串列,应该改为数值列.

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/3/12 15:01:00 [只看该作者]

 全部都是设置的整数型的,执行paperkind和Landscape两行时都没问题,执行第三行设置左边距时才出错的。


图片点击可在新窗口打开查看此主题相关图片如下:360截图20140312145700852.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/12 15:03:00 [只看该作者]

你的LeftMargin 是否是空值. 空值的话就会报错了.

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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/3/12 15:23:00 [只看该作者]

没有空值, 全部都有值的,现在是用Cint函数转换一下后面四行就不出错,打印输出就正确了,可能是程序bug吧。
先这样用了。谢谢!

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/12 15:28:00 [只看该作者]

messagebox.show(dr("PageL") )

 

看看是什么。


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


加好友 发短信
等级:童狐 帖子:292 积分:2488 威望:0 精华:0 注册:2011/11/4 17:32:00
  发帖心情 Post By:2014/3/12 15:34:00 [只看该作者]

就是1楼显示的10

 回到顶部