1. 在固定的工作区打开同一个表
select 1
use f:\zsyxzcn\clglmxb\fxmxb 
...

解决方案 »

  1.   

    open database jbk  &&如果已打开库则本行及下一行可略去。
    set data to jbk
    do case
    case  thisform.Combo1.value= "加油升数"
    SELECT Fxmxb.时间,Fxmxb.司机姓名, Fxmxb.加油升数;
    FROM fxmxb INTO cursor bbb
    case  thisform.Combo1.value= "合同煤吨数"
    SELECT Fxmxb.时间,Fxmxb.司机姓名, Fxmxb.合同煤吨数;
    FROM fxmxb INTO cursor bbb
    case  thisform.Combo1.value= "配件修车费"
    SELECT Fxmxb.时间,Fxmxb.司机姓名,Fxmxb.配件修车费;
    FROM fxmxb INTO cursor bbb
    endcase
    thisform.Grid1.recordsource='bbb'
    thisform.refresh
      

  2.   

    如果你写成如下的形式肯定不行:case  thisform.Combo1.value= "加油升数"
        SELECT Fxmxb.时间,Fxmxb.司机姓名,Fxmxb.加油升数;
            FROM jbk!fxmxb;
            INTO TABLE f:\zsyxzcn\clglmxb\bbb.dbf    SELECT Fxmxb.时间,Fxmxb.司机姓名, Fxmxb.加油升数,SUM(Fxmxb.加油升数)
            FROM jbk!fxmxb;
            INTO TABLE f:\zsyxzcn\clglmxb\bbb.dbf    thisform.Grid1.recordsource='bbb'
        thisform.refresh
    1. 如果你要在一个表中保存基本数据和合计数据,这个基本数据和合计数据的select语句的字段应该是一一对应的。而这2个语句的字段都不一样!
    2. 第二个语句重新产生bbb.dbf, 把前一个语句的bbb.dbf给覆盖了。当然不能全部显示查询记录, 因为没有全部的记录。你试试如下的形式:case  thisform.Combo1.value= "加油升数"    SELECT Fxmxb.时间,Fxmxb.司机姓名,Fxmxb.加油升数;
            FROM jbk!fxmxb;
            INTO TABLE f:\zsyxzcn\clglmxb\bbb.dbf    SELECT '合计' as 时间,'' as 司机姓名, SUM(Fxmxb.加油升数) as 加油升数
            FROM jbk!fxmxb;
            INTO TABLE f:\zsyxzcn\clglmxb\ccc.dbf    select ccc
        use    
        select bbb
        append from ccc
       
        thisform.Grid1.recordsource='bbb'
        thisform.refresh