a. 确定Text2、Text3的InputMask为'99月99日'b. 我给个苯点的办法:public ddd,eee,fff
select 1
use f:\zsyxzcn\clglmxb\fxmxb 
pack
ddd=thisform.Text1.valueif empty(thisform.Text2.value) or empty(thisform.Text3.value)
   SELECT Fxmxb.时间, Fxmxb.货主地址姓名,Fxmxb.司机姓名, fxmxb.实收煤吨数,fxmxb.实收价格,Fxmxb.预付现金,;
      round(fxmxb.实收煤吨数 * fxmxb.实收价格,2) - fxmxb.预付现金 as 欠款金额;
      FROM jbk!fxmxb;
      WHERE Fxmxb.货主地址姓名=ddd;
      INTO TABLE f:\zsyxzcn\clglmxb\eee.dbf
 
   SELECT ''as 时间, '合计'as 司机姓名, ''as 货主地址姓名,sum(fxmxb.实收煤吨数) as 实收煤吨数,'' as 实收价格, sum(Fxmxb.预付现金)as 预付现金,;
      sum(欠款金额) as 欠款金额;
      FROM f:\zsyxzcn\clglmxb\eee.dbf;
      INTO TABLE f:\zsyxzcn\clglmxb\fff.dbf
else
   local t1,t2
   t1 = sub(thisform->Text2->value,1,2)+sub(thisform->Text2->value,5,2)
   t2 = sub(thisform->Text3->value,1,2)+sub(thisform->Text3->value,5,2)
   set cent on
   
   SELECT Fxmxb.时间, Fxmxb.货主地址姓名,Fxmxb.司机姓名, fxmxb.实收煤吨数,fxmxb.实收价格,Fxmxb.预付现金,;
      round(fxmxb.实收煤吨数 * fxmxb.实收价格,2) - fxmxb.预付现金 as 欠款金额;
      FROM jbk!fxmxb;
      WHERE Fxmxb.货主地址姓名=ddd and between(substr(dtos(时间),5,4),t1,t2);
      INTO TABLE f:\zsyxzcn\clglmxb\eee.dbf
 
   SELECT ''as 时间, '合计'as 司机姓名, ''as 货主地址姓名,sum(fxmxb.实收煤吨数) as 实收煤吨数,'' as 实收价格, sum(Fxmxb.预付现金)as 预付现金,;
      sum(欠款金额) as 欠款金额;
      FROM f:\zsyxzcn\clglmxb\eee.dbf;
      INTO TABLE f:\zsyxzcn\clglmxb\fff.dbf
endif
      
select fff
use    
select eee
append from f:\zsyxzcn\clglmxb\fff thisform.Grid1.recordsource='eee'
 
thisform.Grid1.refresh
thisform.refresh

解决方案 »

  1.   

    用VFP,应该用中文字段。为什么要给自己找麻烦?
      

  2.   

    用VFP,应该用中文字段。为什么要给自己找麻烦?
      

  3.   

    用VFP,应该用中文字段。为什么要给自己找麻烦?
      

  4.   

    local t1,t2
       t1 = sub(thisform->Text5->value,1,2)+sub(thisform->Text5->value,5,2)
       t2 = sub(thisform->Text6->value,1,2)+sub(thisform->Text6->value,5,2)
       set cent on nononono(null,null:上边的部分代码什么意思呢,我在运行该段代码的时候系统提示出如下的错误信息,“文件'sub.prg'不存在”
    我忽略的时候,向下运行,系统提示“操作符和操作类型不匹配”
    没有成啊~~~
    是哪里出问题了?
      

  5.   

    还是不行啊;还是提示“文件'sub.prg'不存在”错误信息
      

  6.   

    好的;帮我再看看吧;呵呵;
    另外我想知道你的QQ,能告诉我吗?
    public ddd,eee,fff,t1,t2
    select 1
    use f:\zsyxzcn\clglmxb\fxmxb 
    pack
    ddd=thisform.Text1.valueif empty(thisform.Text5.value) or empty(thisform.Text6.value)
       SELECT Fxmxb.时间, Fxmxb.货主地址姓名,Fxmxb.司机姓名, fxmxb.实收煤吨数,fxmxb.实收价格,Fxmxb.预付现金,;
          round(fxmxb.实收煤吨数 * fxmxb.实收价格,2) - fxmxb.预付现金 as 欠款金额;
          FROM jbk!fxmxb;
          WHERE Fxmxb.货主地址姓名=ddd;
          INTO TABLE f:\zsyxzcn\clglmxb\eee.dbf
     
       SELECT ''as 时间, '合计'as 司机姓名, ''as 货主地址姓名,sum(fxmxb.实收煤吨数) as 实收煤吨数,'' as 实收价格, sum(Fxmxb.预付现金)as 预付现金,;
          sum(欠款金额) as 欠款金额;
          FROM f:\zsyxzcn\clglmxb\eee.dbf;
          INTO TABLE f:\zsyxzcn\clglmxb\fff.dbf
    else
       local t1,t2
       t1 = substr(thisform->Text5->value,1,2)+sub(thisform->Text5->value,5,2)
       t2 = substr(thisform->Text6->value,1,2)+sub(thisform->Text6->value,5,2)
       set cent on
       
       SELECT Fxmxb.时间, Fxmxb.货主地址姓名,Fxmxb.司机姓名, fxmxb.实收煤吨数,fxmxb.实收价格,Fxmxb.预付现金,;
          round(fxmxb.实收煤吨数 * fxmxb.实收价格,2) - fxmxb.预付现金 as 欠款金额;
          FROM jbk!fxmxb;
          WHERE Fxmxb.货主地址姓名=ddd and between(substr(dtos(时间),5,4),t1,t2);
          INTO TABLE f:\zsyxzcn\clglmxb\eee.dbf
     
       SELECT ''as 时间, '合计'as 司机姓名, ''as 货主地址姓名,sum(fxmxb.实收煤吨数) as 实收煤吨数,'' as 实收价格, sum(Fxmxb.预付现金)as 预付现金,;
          sum(欠款金额) as 欠款金额;
          FROM f:\zsyxzcn\clglmxb\eee.dbf;
          INTO TABLE f:\zsyxzcn\clglmxb\fff.dbf
    endif
          
    select fff
    use    
    select eee
    append from f:\zsyxzcn\clglmxb\fff thisform.Grid1.recordsource='eee'
     
    thisform.Grid1.refresh
    thisform.refresh
      

  7.   

    呵呵,搞定了,再次谢谢你啊;
    我都你好多问题了,每次都要麻烦你,我问你的QQ号码的意思是想和你聊点其他的;既然你不经常上,那就算了,我现在也是很少上的;问题解决了就好了,我经常上我们的BBS,但是效果不好,我现在没有象你这样的朋友,不过,现在已经有了,呵呵,非常感谢;