格式化 DataReport 数据 
http://www.triaton.com.cn/Private/Zip/FmtDatRpt.zip  
99年写的拙作:
都是动态的:
vb 6之数据报表使用技巧
http://media.ccidnet.com/media/ciw/871/b1301.htmDataReport 程序 
http://www.triaton.com.cn/Private/Zip/DatRpt.zip 用 DataReport 打印 DataGrid ()
http://www.triaton.com.cn/Private/Zip/DatGrdRpt.zip 

解决方案 »

  1.   

    ' 名称: CCh
    '        得到一位数字 N1 的汉字大写
    '        0 返回 ""
    Private Function CCh(N1) As String
    Select Case N1
      Case 0
        CCh = "零"
      Case 1
        CCh = "壹"
      Case 2
        CCh = "贰"
      Case 3
        CCh = "叁"
      Case 4
        CCh = "肆"
      Case 5
        CCh = "伍"
      Case 6
        CCh = "陆"
      Case 7
        CCh = "柒"
      Case 8
        CCh = "捌"
      Case 9
        CCh = "玖"
    End Select
    End Function
    '名称: ChMoney
    '       得到数字 N1 的汉字大写
    '       最大为 千万位
    '       O 返回 ""
    Public Function ChMoney(N1) As String
    Dim tMoney As String
    Dim lMoney As String
    Dim tn '小数位置
    Dim s1 As String '临时STRING 小数部分
    Dim s2 As String '1000 以内
    Dim s3 As String '10000
    Dim st1
    Dim t1If N1 = 0 Then
      ChMoney = " "
      Exit Function
    End If
    If N1 < 0 Then
      ChMoney = "负" + ChMoney(Abs(N1))
      Exit Function
    End If
    tMoney = Trim(Str(N1))
    tn = InStr(tMoney, ".")  '小数位置
    s1 = ""If tn <> 0 Then
      st1 = Right(tMoney, Len(tMoney) - tn)
      If st1 <> "" Then
        t1 = Left(st1, 1)
        st1 = Right(st1, Len(st1) - 1)
        If t1 <> "0" Then
          s1 = s1 + CCh(Val(t1)) & "角"
        End If
        If st1 <> "" Then
         t1 = Left(st1, 1)
         s1 = s1 + CCh(Val(t1)) & "分"
        End If
      End If
      st1 = Left(tMoney, tn - 1)
    Else
      st1 = tMoney
    End If
    s2 = ""
    If st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      s2 = CCh(Val(t1)) + s2
    End IfIf st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      If t1 <> "0" Then
        s2 = CCh(Val(t1)) + "拾" + s2
      Else
        If Left(s2, 1) <> "零" Then s2 = "零" + s2
      End If
    End IfIf st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      If t1 <> "0" Then
        s2 = CCh(Val(t1)) + "佰" + s2
      Else
        If Left(s2, 1) <> "零" Then s2 = "零" + s2
      End If
    End IfIf st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      If t1 <> "0" Then
      s2 = CCh(Val(t1)) + "仟" + s2
      Else
        If Left(s2, 1) <> "零" Then s2 = "零" + s2
      End If
    End Ifs3 = ""
    If st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      s3 = CCh(Val(t1)) + s3
    End If
    If st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      If t1 <> "0" Then
      s3 = CCh(Val(t1)) + "拾" + s3
      Else
        If Left(s3, 1) <> "零" Then s3 = "零" + s3
      End If
    End IfIf st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      If t1 <> "0" Then
      s3 = CCh(Val(t1)) + "佰" + s3
      Else
       If Left(s3, 1) <> "零" Then s3 = "零" + s3
      End If
    End IfIf st1 <> "" Then
      t1 = Right(st1, 1)
      st1 = Left(st1, Len(st1) - 1)
      If t1 <> "0" Then
      s3 = CCh(Val(t1)) + "仟" + s3
      End If
    End If
    If Right(s2, 1) = "零" Then s2 = Left(s2, Len(s2) - 1)
    If Len(s3) > 0 Then
      If Right(s3, 1) = "零" Then s3 = Left(s3, Len(s3) - 1)
      s3 = s3 & "万"
    End IfIf tn <> 0 Then
        ChMoney = IIf(s3 & s2 = "", s1, s3 & s2 & "元" & s1)
    Else
        ChMoney = IIf(s3 & s2 = "", s1, s3 & s2 & "元整")
    End IfEnd Function