请教各位高手
我想在Crystal 8.5中实现从小写阿拉伯数字金额到大写汉字金额的转换
本来在网上找了几个VB写的函数,但是CR8.5不能建用户自定义函数(我只能用8.5),只能写公式
公式应该怎样写呢?麻烦高手指点一二
急用!
多谢多谢!!!

解决方案 »

  1.   

    晕,赋值前在VB里用VB的函数先转换再赋值给报表
      

  2.   

    没有VB啊,就是用Crystal做个报表从数据库里取值
    不过Crystal里不是支持Basic的语法吗
    麻烦想想办法吧
    多谢!!
      

  3.   

    在网上找了一段程序,贴在crystal里面,但是检查有错误
    Dim strDecimal,I,J,strTemp,AlbMoney,strUCaseMoney,Temp_UpperRmb
      Temp_UpperRmb=Sum ({@Debit}, {gbkmut.reknr})
      AlbMoney=Totext(Temp_UpperRmb)
      AlbMoney=Trim(AlbMoney & "") 
      I=inStr(AlbMoney,".") 
      IF I=0 Then 
        I=Len(AlbMoney)+1 
      Else 
        strDecimal=Mid(AlbMoney,I+1) 
      End IF 
      '转换小数点以前 
      strUCaseMoney="" 
        J=1 
      For I=I-1 To 1 step -1 
        Select Case Mid(AlbMoney,I,1) 
          Case "0" 
    strTemp="零" 
          Case "1"
    strTemp="壹" 
          Case "2"
    strTemp="贰" 
          Case "3"
    strTemp="叁" 
          Case "4"
    strTemp="肆" 
          Case "5"
    strTemp="伍" 
          Case "6"
    strTemp="陆" 
          Case "7"
    strTemp="柒" 
          Case "8"
    strTemp="捌" 
          Case "9"
    strTemp="玖" 
        End Select 
            'IF Int(Mid(AlbMoney,I,1))>0 Then 
                Select Case J 
                    Case 1
    strTemp=strTemp & "圆" 
                    Case 2
    strTemp=strTemp & "拾" 
                    Case 3
    strTemp=strTemp & "佰" 
                    Case 4
    strTemp=strTemp & "仟" 
                    Case 5
    strTemp=strTemp & "万" 
                    Case 6
    strTemp=strTemp & "拾" 
                    Case 7
    strTemp=strTemp & "佰" 
                    Case 8
    strTemp=strTemp & "仟" 
                    Case 9
    strTemp=strTemp & "亿" 
                End Select 
            'End IF 
        strUCaseMoney=strTemp & strUCaseMoney 
        J=J+1 
      Next 
      '转换小数 
      IF strDecimal<>"" Then 
        For I=1 To Len(strDecimal) 
          Select Case Mid(strDecimal,I,1) 
            Case "0"
    strTemp="零" 
            Case "1"
    strTemp="壹" 
            Case "2"
    strTemp="贰" 
            Case "3"
    strTemp="叁" 
            Case "4"
    strTemp="肆" 
            Case "5"
    strTemp="伍" 
            Case "6"
     strTemp="陆" 
            Case "7"
    strTemp="柒" 
            Case "8"
    strTemp="捌" 
            Case "9"
    strTemp="玖" 
          End Select 
          Select Case I 
            Case 1
    strTemp=strTemp & "角" 
            Case 2
    strTemp=strTemp & "分" 
            Case 3
    strTemp=strTemp & "厘" 
            'Case 4
    strTemp=strTemp & "" 
          End Select 
          strUCaseMoney=strUCaseMoney & strTemp 
        Next 
      ElseIF strUCaseMoney<>"" Then 
        strUCaseMoney=strUCaseMoney & "整" 
      End IF 
    帮我看看错在哪里好吗?
    crystal里提示"The specail variable 'formula' must be assigned a value within the formula"