回复 8楼 qjbzjp
我制作的报表如下
其中域控件
的自定义函数如下
PARAMETERS x
SELECT 1
use xtzk.dbf && xtzk.dbf为部门名称表
LOCA for 'x'='bh' &&此处如果不带’‘的话,运行时老是出现函数参数的值,类型或数目无效
IF FOUND()
RETURN name
ELSE
RETURN ""
ENDIF
return
如果把此域控件去掉的话,打印程序可以顺利运行,只是打印出来的工资表没有部门!?
以下是打印程序,请看一下我调用自定义函数的方式是否正确(红色粗体)
parameters bh
clear
set talk off
set safe off
wbh=0
QYH=1
ZYH=99
SELE 1
USE XTZK &&如果修改XTZK.DBF中 BH 的类型,程序将出错.
do while .t.
clear
@13,20 say '单位编号:' GET WBH PICT '99'
READ
IF WBH=99
EXIT
ENDIF
SELE 1
LOCATE FOR BH=WBH
IF EOF()
@18,20 SAY '该单位不存在!'
?CHR(7)+CHR(7)
LOOP
ENDIF
IF WBH<10
I=STR(WBH,1)
ELSE
I=STR(WBH,2)
ENDIF
WNAME=NAME
@19,20 SAY '正在打印'+WNAME+'工资表'
sele 2
* ?my_func(wbh)
&&自定义函数是这样调用吗?? 如果我把前面的‘*‘去掉的话 打印程序运行就出现问题了
USE GZZ&I
report form 报表1.frx preview
*to printer
enddo
name=LTRIM(TRIM(WNAME))
return name