• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • Visual Foxpro生成任意打印字段报表的实现

      ---- 存在的问题

      ---- 用VFP生面的执行程序后,对于用户所需的某一数据库的任意字段组合报表,就显得不是那样运用自如。因为,一方面软件开发时,无法考虑到日后用户所需报表的所有格式。另一方面,由于所设计好的报表格式文件已编译成可执行文件,即使修改了.FRX和.FRT文件结构内容,也需在开发环境下重新编译,对用户来讲是不实现的。例如需一份员工名单及一个空栏位,进行签名或登记某一证件号码的问题就比较难解决。

      ---- 解决方案

      ---- 运用VFP与Excel 的交换数据及在VFP中全面控制Excel的操作(即自动服务器),就可以很好的解决这一问题。关于如何控制Excel,一方面可以通过Excel的帮助文件的VBA语法,另一方面也有相当多的文章关于控制Excel的语法。值得注意的是:1、为提高效率,所有有关计算、小计、合计最好在VFP中进行,

      VFP访问外部数据源的几种方法
      VFP编辑框中实现自动更正的方法,Visual FoxPro 9.0更强大了,如何用VFP的dbf进行SQL Server 7.0 的分布式查询,VFP智能感应的二次开发,谈两种数据库内容HTML格式的输出方法,用FoxWeb在网上快速发布你的FOXPRO数据库,在VFP5.0中实现中英文自动切换,在VFP中实现跟变式组合框及椭圆图形菜单,通过编程运行拨号网络连接,VFP中实现在浏览器中运行应用程序方法,为Visual FoxPro应用程序增加文件压缩功能,在VFP中模拟动画,用Visual FoxPro 5.0 设计数据文件结构浏览器,VFP表跟踪实现方法,让VFP程序在浏览器中运行,怎样在Visual FoxPro 中增加与去除网络联接,谈谈VFP和SQL SERVER搭配做C/S系统,卡拉OK字幕着色动态显示,利用Foxpro在网络环境下开发数据库管理软件经验点滴,用Foxpro制作Windows输入法码表
      Visual Foxpro

      并写在相应的记录内;2、由于是两个软件,如果在有大量数据逐一插入Excel单元格时,显得速度较慢,所以如果数据量较大,应直接用VFP的数据表导出为Excel格式,再由VFP在后台控制Excel打开,并指定的Excel格式文件进行修改文档标题、列的名称、网格线型,以及根据纸张大小计算各列宽和调整字体大小。

      ---- 实现办法

      ---- 利用SQL结构化语言的Select生成一个数据表

      ---- 在Select字段时,可以利用一个表单Form1加入两个列表框,一个列表框列出所有数据表的字段,另一个为空,利用鼠标双击或拖拉至空的列表框里,为选定一字段(此时第一个含有所有字段的列表框中,将不再显示被拖拉走的字段,而在另一列表中显示),并生成相应的Select查询程序段。

      ---- 在本实例中为:form1中含有一个list1和edit1和两个按钮

      Form1.ini

      public a,b,c,d,f,g

      a="SELECT "

      b=""

      c=" FROM bn INTO CURSOR myquery"

      d=""

      f=0

      g=0

      list1.dblclick

      if len(alltrim(b))=0

      b=b+thisform.list1.value

      else

      b=b+","+thisform.list1.value

      endif

      d=a+b+c

      thisform.edit1.refresh

      for mm=1 to thisform.list1.listcount

      if thisform.list1.selected(mm)

      thisform.list1.removeitem(mm)

      endif

      endfor

      command1.click ** 执行所生成的select语句

      SELECT &B FROM BN INTO CURSOR MYQUERY

      sele myquery

      command2.click** 调用excel

      my=createobject("excel.application")

      my.visible=.t. **如果在交付用户时可以将其设置成 .F.

      my.workbooks.add

      select myquery

      f=fcount()

      g=reccount()

      goto top

      for l=1 to g

      for i=1 to f

      fieldname=field(i)

      ** 对于要生成中文的列位标题可以用

      一英文字段名称与中文名称对应的参数库来解决

      my.activeworkbook.sheets(1).cells(l,i).value=myquery.&fieldname

      endfor

      skip

      endfor

      ** 如果要增加一空列可以用

      my.activesheet.columns(f+1).insert语法

      ** 设置页眉 my.activesheet.pagesetup.

      centerheader (centerfooter)=” xxx”

      ---- 其它方面的控制可以按上述提到的方法参考

      VFP访问外部数据源的几种方法
      VFP编辑框中实现自动更正的方法,Visual FoxPro 9.0更强大了,如何用VFP的dbf进行SQL Server 7.0 的分布式查询,VFP智能感应的二次开发,谈两种数据库内容HTML格式的输出方法,用FoxWeb在网上快速发布你的FOXPRO数据库,在VFP5.0中实现中英文自动切换,在VFP中实现跟变式组合框及椭圆图形菜单,通过编程运行拨号网络连接,VFP中实现在浏览器中运行应用程序方法,为Visual FoxPro应用程序增加文件压缩功能,在VFP中模拟动画,用Visual FoxPro 5.0 设计数据文件结构浏览器,VFP表跟踪实现方法,让VFP程序在浏览器中运行,怎样在Visual FoxPro 中增加与去除网络联接,谈谈VFP和SQL SERVER搭配做C/S系统,卡拉OK字幕着色动态显示,利用Foxpro在网络环境下开发数据库管理软件经验点滴,用Foxpro制作Windows输入法码表
      Visual Foxpro

    • 0
    • 0
    • 0
    • 62
    • 单栏布局 侧栏位置: