首先设置系统默认页面宽21.4cm,长13.5cm(只要小于宽度就行)
然后设置DataReport.Orientation = 1
DataReport.show
报错:报表宽度大于纸张宽度如果不设置DataReport.Orientation (VB默认值此时会变为2[横向])
DataReport预览正常,但点击打印后,内容却按照垂直方向打印(横向)当页面高度明显大于宽度时,却一切正常,以上现象就不存在了真怀疑是Bug,有高手能解决,感激不尽!!

解决方案 »

  1.   

    首先设置系统默认页面宽21.4cm,长13.5cm(只要小于宽度就行)
    然后设置DataReport.Orientation = 1
    DataReport.show
    报错:报表宽度大于纸张宽度这个不是Bug,这和你的如果不设置DataReport.Orientation (VB默认值此时会变为2[横向])
    DataReport预览正常,但点击打印后,内容却按照垂直方向打印(横向)当页面高度明显大于宽度时,却一切正常,以上现象就不存在了真怀疑是Bug,有高手能解决,感激不尽!!
    设置1是横向,设置2是纵向.
    什么也不设,会取当前打印机的走纸方向.
      

  2.   

    首先你要确定自己报表所用的纸张的大小,打印方向。然后你可以设置打印机的默认页面。比如:你的报表宽21.4cm,长13.5cm,那么设置好打印纸张后,在报表设计器中看到的就是实际打印区域。没有必要再去调整Orientation属性。宽度不超出这个区域的设计,不会有任何问题。 
      

  3.   

    楼上各位名不明白呀?不要想当然,你们实际模拟我说的情况运行一下,就会发现
    不管系统默认的方向如何,vb总是设置Orientation属性=2,而如果你设为1,就会报
    “报表宽度大于纸张宽度”
      

  4.   

    把这四个属性设置为0,bootommarrgin,leftmargin,topmarrgin,rightmargin,然后适当调整报表的宽度.
      

  5.   

    靠,
    适当调整报表的宽度,要手工用鼠标拉的,会不会.还有打上VBSP5
      

  6.   

    靠,告诉NT下不能用什么报表啊,Printer什么的来改横向纵向.去调整打印机的属性,再试!再给你一个:靠!
      

  7.   

    系统默认打印页面和方向都是正确的(我用API实现),可datareport的打印
    方向设置就是和系统不一样呀!
    各位要是不模拟实际情况,我也没法说了