找回密码
 立即注册

QQ登录

只需一步,快速开始

duanliangjie

注册会员

3

主题

13

帖子

36

积分

注册会员

积分
36
最新发帖
duanliangjie
注册会员   /  发表于:2021-3-22 11:23  /   查看:4316  /  回复:14
用ReportItems!TextBox.Value作为参数传递给脚本函数为什么无效?

14 个回复

倒序浏览
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-3-22 11:50:07
沙发
您可以截个图吗?看一下报表怎么设计的
回复 使用道具 举报
duanliangjie
注册会员   /  发表于:2021-3-22 12:10:09
板凳

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
duanliangjie
注册会员   /  发表于:2021-3-22 12:14:07
地板
附件中有报表

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
duanliangjie
注册会员   /  发表于:2021-3-22 12:15:46
5#
Crystal.Li 发表于 2021-3-22 11:50
您可以截个图吗?看一下报表怎么设计的

已经把报表添加附件了,麻烦看一样
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-3-22 12:18:45
6#
您把您的脚本函数可以发出来吗? 我们排查一下
回复 使用道具 举报
duanliangjie
注册会员   /  发表于:2021-3-22 12:23:11
7#
Crystal.Li 发表于 2021-3-22 12:18
您把您的脚本函数可以发出来吗? 我们排查一下

Function ConvertToRMB(ByVal inputString As String) As String
        Dim numList As String = "零壹贰叁肆伍陆柒捌玖"
        Dim rmbList As String = "分角元拾佰仟万拾佰仟亿拾佰仟万"
        Dim number As Double = 0
        Dim tempOutString As String = ""
        number = Double.Parse(inputString)


        Dim tempNumberString As String = Convert.ToInt64(number * 100).ToString()
        Dim tempNmberLength As Integer = tempNumberString.Length
        Dim i As Integer = 0

        While i < tempNmberLength  
                Dim oneNumber As Integer = Int32.Parse(tempNumberString.Substring(i, 1))
                Dim oneNumberChar As String = numList.Substring(oneNumber, 1)
                Dim oneNumberUnit As String = rmbList.Substring(tempNmberLength - i - 1, 1)
                If Not (oneNumberChar = "零") Then
                        tempOutString += oneNumberChar + oneNumberUnit
                Else
                        If oneNumberUnit = "亿" OrElse oneNumberUnit = "万" OrElse oneNumberUnit = "元" OrElse oneNumberUnit = "零" Then
                                While tempOutString.EndsWith("零")
                                        tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
                                End While
                        End If
                        If oneNumberUnit = "亿" OrElse (oneNumberUnit = "万" AndAlso Not tempOutString.EndsWith("亿")) OrElse oneNumberUnit = "元" Then
                                tempOutString += oneNumberUnit
                        Else
                                If Not tempOutString Is Nothing Then
                                        Dim tempEnd As Boolean = tempOutString.EndsWith("亿")
                                        Dim zeroEnd As Boolean = tempOutString.EndsWith("零")
                                        If tempOutString.Length > 1 Then
                                                Dim zeroStart As Boolean = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零")
                                                If Not zeroEnd AndAlso (zeroStart OrElse Not tempEnd) Then
                                                        tempOutString += oneNumberChar
                                                End If
                                        Else
                                                If Not zeroEnd AndAlso Not tempEnd Then
                                                        tempOutString += oneNumberChar
                                                End If
                                        End If
                                End If

                        End If
                End If
                i += 1

        End While
        If Not tempOutString Is Nothing Then
                While tempOutString.EndsWith("零")
                        tempOutString = tempOutString.Substring(0, tempOutString.Length - 1)
                End While
                While tempOutString.EndsWith("元")
                        tempOutString = tempOutString + "整"
                End While
                Return tempOutString
        Else
                Return ""
        End If
End Function
回复 使用道具 举报
duanliangjie
注册会员   /  发表于:2021-3-22 12:26:06
8#
Crystal.Li 发表于 2021-3-22 12:18
您把您的脚本函数可以发出来吗? 我们排查一下

=Code.ConvertToRMB(1.1) 指定死值,函数是好用的
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-3-22 13:38:09
9#
duanliangjie 发表于 2021-3-22 12:26
=Code.ConvertToRMB(1.1) 指定死值,函数是好用的

您好,在我本地查看您的报表预览是正常的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-3-22 13:50:23
10#
您直接用文本框,测试一下单独这个函数正常吗?=ReportItems!TextBox1.Value,如果这个函数不正常的话,可能就是您那个版本不支持这个表达式
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部