CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

简单的打印问题~~~

楼主fxj331072(白天与黑夜)2006-03-10 10:51:10 在 VB / 基础类 提问

我添加了DataEnvironment1,里面connection添加了几个command1,绑的全部的表,请问怎么把下面的内容打印出来?  
  比如按form1里的command1就会打印。  
   
  打印的内容:  
  select   Store.ProId   as   产品代号,ProName   as   产品名称,ProStyle   as   型号,ProUnit   as   单位,Quantity   as   数量,   ProDescribe   as   备注   from   Store   join   Product   on   Product.ProId=Store.ProId   where   "   +   Trim(a)   +   "     "   &   "like   +'"   +   Trim(Text1.Text)   +   "'+   '%'" 问题点数:50、回复次数:11Top

1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-10 10:58:01 得分 40

请参考(如果不是sql数据库,请自己把数据库的连接改过来):  
   
  Private   Sub   DataReport_Initialize()  
          Dim   AdoCon   As   New   ADODB.Connection  
          Dim   AdoRec   As   New   ADODB.Recordset  
          Dim   ctl   As   Object  
          '具体的数据库连接自己改过来  
          AdoCon.Open   "Provider=SQLOLEDB.1;Password=;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=Test;Data   Source=ljx"  
   
          AdoRec.Open   "select   姓名,年龄,学历,性别   from   Test",   AdoCon,   adOpenDynamic,   adLockReadOnly  
   
          With   Me  
                  Set   .DataSource   =   AdoRec  
                  For   Each   ctl   In   .Sections.Item("Section1").Controls  
                          If   TypeName(ctl)   =   "RptTextBox"   Then  
                                  Select   Case   ctl.Name  
                                  Case   "Text1"  
                                          ctl.DataField   =   AdoRec!姓名.Name  
                                  Case   "Text2"  
                                          ctl.DataField   =   AdoRec!年龄.Name  
                                  Case   "Text3"  
                                          ctl.DataField   =   AdoRec!学历.Name  
                                  Case   "Text4"  
                                          ctl.DataField   =   AdoRec!性别.Name  
                                  End   Select  
                          End   If  
                  Next  
          End   With  
          Me.PrintReport   '直接打印  
           
  End   SubTop

2 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-10 10:59:29 得分 0

用上面的代码,不需要DataEnvironment1,只在DataReport里添加好控件就可以了Top

3 楼jobs002(Oh! Office)回复于 2006-03-10 11:15:40 得分 0

学习一下了...Top

4 楼fxj331072(白天与黑夜)回复于 2006-03-10 11:19:18 得分 0

打印的内容:  
  select   Store.ProId   as   产品代号,ProName   as   产品名称,ProStyle   as   型号,ProUnit   as   单位,Quantity   as   数量,   ProDescribe   as   备注   from   Store   join   Product   on   Product.ProId=Store.ProId   where   "   +   Trim(a)   +   "     "   &   "like   +'"   +   Trim(Text1.Text)   +   "'+   '%'"  
   
  我里面不只是数据库的字段,我要查找where   "   +   Trim(a)   +   "     "   &   "like   +'"   +   Trim(Text1.Text)   +   "'+   '%'"  
   
  Private   Sub   DataReport_Initialize()   里面没有变量a  
   
  Top

5 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-10 11:30:22 得分 0

Private   Sub   DataReport_Initialize()   里面没有变量a  
   
  ------------------------------------  
  把a放到模块里定义,定义为public类型Top

6 楼fxj331072(白天与黑夜)回复于 2006-03-10 13:07:05 得分 0

With   Me  
                  Set   .DataSource   =   rs  
                  For   Each   ctl   In   .Sections.Item("Section1").Controls  
                          If   TypeName(ctl)   =   "RptTextBox"   Then  
                                  Select   Case   ctl.Name  
                                  Case   "Text1"  
                                          ctl.DataField   =   rs!产品代号.Name  
                                  Case   "Text2"  
                                            ctl.DataField   =   rs!产品名称.Name  
                                  Case   "Text3"  
                                              ctl.DataField   =   rs!型号.Name  
                                  Case   "Text4"  
                                              ctl.DataField   =   rs!单位.Name  
                                  End   Select  
                          End   If  
                  Next  
          End   With  
          Me.PrintReport   '直接打印  
   
  只能把字段名字显示出来,字段数据在预览里看不到,  
  还有就是怎么能控制高度和网格,这我第一次打印,都不知道Top

7 楼rayxu(有心就成)回复于 2006-03-10 13:56:13 得分 0

控制报表的高度和宽度还有上边界和下边界,都是在DataReport属性时面去设置,如果你不知道是哪个属性的话,建议一个个选中他们的属性然后看一下下面的解释,这样会比较好一点。下面这个是我写的一个根据条件打印的例子。  
  Private   Sub   cmdEnter_Click()  
  Set   DataEzsb1   =   Nothing  
  DataEzsb1.rsCommand1.Open   "select   *   from   注塑部基本信息   where   (注塑部基本信息."   &   Combo1.Text   &   "   like   +   '"   +   Text2.Text   +   "'+'%')   and   注塑部基本信息."   &   Combo2.Text   &   "   like   +   '"   +   Text6.Text   +   "'+'%'   order   by   生产单号"  
      If   DataEzsb1.rsCommand1.RecordCount   >   0   Then  
      DRzsb.Show  
      Else  
      MsgBox   "此项不存在,请重新输入!"  
      DataEzsb1.rsCommand1.Close  
      End   If  
  End   Sub  
  Top

8 楼fxj331072(白天与黑夜)回复于 2006-03-10 15:33:42 得分 0

rayxu(有心就成)      
  你怎么定义的?数据环境和数据报告用手动设置么`?  
  Top

9 楼fxj331072(白天与黑夜)回复于 2006-03-10 19:16:06 得分 0

谁能帮我一下`~~?~~Top

10 楼fxj331072(白天与黑夜)回复于 2006-03-11 10:20:12 得分 0

自己顶一下~~Top

11 楼rayxu(有心就成)回复于 2006-03-11 12:35:58 得分 10

 
  你没有设置好数据源的属性,照下列的方法做就行了。  
  先把DataEnvironmen在他的connection属性里设置好你要连接的数据库,在command1属性里设置你要打印的表。  
  添加DataReport的Datamember的属性没有设置成你添加的命令(默认的为command1)  
  把这几个属性设计好了就可以了。Top

相关问题

  • 简单的打印问题
  • 简单的打印问题
  • 打印简单问题
  • 一个报表打印问题,简单,简单,确实简单.
  • 关于打印的简单问题
  • 简单问题!!关于打印的!!急!!
  • 百分求简单打印控件
  • [简单问题] 关于打印
  • 一个简单的C打印问题.
  • 关于打印简单问题

关键词

  • 打印
  • 属性
  • 数据库
  • 数据
  • 连接
  • adorec
  • proid
  • ctl
  • 添加
  • adocon

得分解答快速导航

  • 帖主:fxj331072
  • faysky2
  • rayxu

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo