http://hi.baidu.com/szwebman/item/1dec968783a7c019c216271b?qq-pf-to=pcqq.c2c
1、在水晶报表里,新建一个公式字段。点击【使用编辑器】之后弹出【公式工作室】。
2、在【公式工作室】中的【报表自定义函数】新建一个函数,在代码框中输入如下代码(VB代码):
Function fncGetCd128SetB ( strIn As string ) As String
Dim intLoop As Number
Dim intPosition as Number
Dim intTotalVal as Number
Dim strOut as String
Dim strSpChr as String
Dim strEndChr as String
Dim intEndNo as Number
strOut = ""
for intLoop = 0 to Len(strIn) - 1
intPosition = intLoop + 1
strSpChr = Mid(strIn, intPosition, 1)
intTotalVal = intTotalVal + (Asc(strSpChr) - 32) * intPosition
next
intTotalVal = intTotalVal + 104
intTotalVal = intTotalVal mod 103
If intTotalVal >= 95 Then
Select Case intTotalVal
Case 95
strEndChr = "Ã"
Case 96
strEndChr = "Ä"
Case 97
strEndChr = "Å"
Case 98
strEndChr = "Æ"
Case 99
strEndChr = "Ç"
Case 100
strEndChr = "È"
Case 101
strEndChr = "É"
Case 102
strEndChr = "Ê"
End Select
Else
intTotalVal = intTotalVal + 32
strEndChr = Chr(intTotalVal)
End If
fncGetCd128SetB = "Ì" + strIn + strEndChr + "Î"
End Function
选择【Basic语法】进行编译保存。
3、点击新建的公式字段,在自定义函数选择框内,选择刚新建的自定义函数。在【函数参数】的【值】中选择你要转换的数据库字段。
4、将公式字段拖动到报表设计视图之后检查字体类型是否为Code 128