请问是否使用了公式字段,如果是的话,那么就可能是公式的运用有问题。给你举一个例子,date函数在VB里面用,在98系统下就是YY-mm-dd,在2000或者更高的系统下就是yyyy-mm-dd。这样的话,就会出现取年的时候取错的问题!

解决方案 »

  1.   

    是公式字段
    转换如下:
    StringVar x;
    StringVar xx := "";
    NumberVar z;
    NumberVar i;
    x := ToText({#RTotal0});
    x := Replace(x,",","");
    x := Replace(x,".","");
    z := length(x)-2;for i := z to -1 step -1 do
    (
        select i
        case 10 : if(Mid(x,z-i+1,1)<>"0") then xx := Mid(x,z-i+1,1) + "十"
        case 9 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "亿" else xx := xx + "亿"
        case 8 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "仟"
        case 7 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "佰"
        case 6 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "拾"
        case 5 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "万" else xx := xx + "万"
        case 4 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "仟"
        case 3 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "佰"
        case 2 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "拾"
        case 1 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1)+"元"
        case 0 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1)+"角"
        case -1 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1)+"分" 
    );
    xx := Replace(xx,"1","壹");
    xx := Replace(xx,"2","贰");
    xx := Replace(xx,"3","叁");
    xx := Replace(xx,"4","肆");
    xx := Replace(xx,"5","伍");
    xx := Replace(xx,"6","陆");
    xx := Replace(xx,"7","柒");
    xx := Replace(xx,"8","捌");
    xx := Replace(xx,"9","玖");
         xx;