哈哈,经过昨天一天的研究,终于有一点进展了。首先是关于多行表头的,目前只找到一个解决方法,就是在表头处放一个矩形框,然后在举行框里拖入文本框,不过要跟下面的表格对齐还真是件很麻烦的事啊。。。上图:
下面是将钱分成上图的元角分,我之前研究的方法是用的除法,用1400.00为例:
首先,红色的部分是将数据1400.00从右边取6位,即取到了个位数:400.00(小数点也算一位),绿色的部分是将取到的字符串400.00化为双精度浮点型,蓝色的部分是去整数部分即去400.00/100的整数部分即是4,橙色部分是一个if的判断,额= = 这是我的程序的问题,不予讨论,黑色也是一个if语句,位数是我查出来的1400.00的位数,判断这个位数是不是有6位或者大于6位,因为如果没有的话,证明这个数没有那么大,比如说1400.00是没有万位的,所以就显示为空。这个IIf()函数的三个参数是(条件,条件为真时执行,条件为假时执行)。
就在我以为我很聪明,成功了的时候,我杯具的发现,还有更简单的办法,如下:IIf(Fields!借方金额.Value=0,"",
IIf(Fields!位数.Value>=6,
GetChar(
Right(Fields!借方金额.Value,6),
1),
""))
下面是将钱分成上图的元角分,我之前研究的方法是用的除法,用1400.00为例:
IIf(Fields!位数.Value>=6,
IIf(Fields!借方金额.Value=0,"",
Int(
CDbl(
Right(Fields!借方金额.Value,6)
)
/100)
),"")
绿色部分,如上面,获取由右边开始的6个字符串400.00,橙色部分是获取字符的第一个字符即是4!!。。杯具啦,就这样就可以了。。。唉。。。。我还没找到计算字符串长度的函数,要是找到了也不用自己去计算那个位数了。。。总之就是这样,这是计算出来的最后效果图: