网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 数据库类-> Foxpro-> Visual Foxpro生成任意打印字段报表的实现

Visual Foxpro生成任意打印字段报表的实现
作者:佚名 来源:InterNet 加入时间:2005-1-31
相关文章
  • Visual FoxPro 9.0更强大了
  • 用FoxWeb在网上快速发布你的FOXPRO数据库
  • 为Visual FoxPro应用程序增加文件压缩功能
  • 用Visual FoxPro 5.0 设计数据文件结构浏览器
  • 利用Foxpro在网络环境下开发数据库管理软件经验点滴
  • 用Foxpro制作Windows输入法码表
  • 用FoxPro生成HTML文件
  • 优化 FoxPro 在网络上的性能
  • 如何修复被破坏的Foxpro数据库
  • 把FoxPro数据库转变成HTML表格
  • 相关书籍:
  • Visual FoxPro 6.0 中文版程序员指南
  • Visual Foxpro 6.0初级教程
  • VisualFoxpro 6.0中文版程序员指南
  • ---- 存在的问题

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

    ---- 解决方案

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

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


    [文章录入员:nancy]

    相关文章
  • Visual FoxPro 9.0更强大了
  • 用FoxWeb在网上快速发布你的FOXPRO数据库
  • 为Visual FoxPro应用程序增加文件压缩功能
  • 用Visual FoxPro 5.0 设计数据文件结构浏览器
  • 利用Foxpro在网络环境下开发数据库管理软件经验点滴
  • 用Foxpro制作Windows输入法码表
  • 用FoxPro生成HTML文件
  • 优化 FoxPro 在网络上的性能
  • 如何修复被破坏的Foxpro数据库
  • 把FoxPro数据库转变成HTML表格
  • 相关书籍:
  • Visual FoxPro 6.0 中文版程序员指南
  • Visual Foxpro 6.0初级教程
  • VisualFoxpro 6.0中文版程序员指南
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    Foxpro
    ACCESS
    MS SQL
    MySQL
    Oracle
    Foxpro
    PowerBuilder
    Sybase
    其它
    电脑教程阅读排行
    ·Visual FoxPro 9....
    ·VFP与Excel交互编程
    ·Visual Foxpro生成任...
    ·VFP访问外部数据源的几种方法
    ·为Visual FoxPro应用...
    ·如何用VFP的dbf进行SQL ...
    ·如何修复被破坏的Foxpro数据...
    ·用VFP6.0编写图片浏览器
    ·在VFP报表中实现每页打印指定记...
    ·利用Foxpro在网络环境下开发...