バーコードレポートにバーコードフォントコード 128 を使用

デフォルトのバーコードフォントをバーコードフォントコード 128 に置換するには、以下のステップに従ってください。コード 128 により、デフォルトフォント(バーコードフォント Code39QuarterInch )よりもさらに小さなバーコードを印刷することができます。

Infor がサポートされているバーコードのフォントコード 128 は、現在デフォルトで利用可能なフォントのみ文字を印刷します。

注:  コード 128、Code128Narrow、および Code128VeryNarrow では、48 以上のフォントサイズ使用を推奨します。コード 128 および Code128VeryWide では、36 以上のフォントサイズ使用を推奨します。

このフォントを使用する際には、Windows の地域設定として英語を使用する必要があります。

コード 128A とコード 128B の間には以下の違いがあります。

  • コード 128A は小文字はサポートしませんが、コード 128B では小文字をサポートします。
  • コード 128A では、句読点、0 ~ 9 数字、大文字(小文字は対象外)、標準の ASCII 制御コード、および下記の表に示す特殊文字の符号化が可能です。コード 128B では、句読点、0 ~ 9 数字、大文字、小文字、標準の ASCII 制御コード、および下記の表に示す特殊文字の符号化が可能です。

コード 128B の使用をお勧めします。コード 128B を選択すると、ほとんどの状況で最良の結果が得られます。

このテーブルにはコード 128 の特殊文字が表示されています。

ASCII コード    コード 128A    コード 128B   
32 FNC3 FNC3
33 FNC2 FNC2
34 シフト シフト
35 コード C コード C
36 コード B FNC4
37 FNC4 コード A
38 FNC1 FNC1
(F = ファンクションキー)

レポートのデフォルトバーコードフォントをバーコードフォントコード 128 に置換するには

  1. Visual Studio 2008 で、既存のバーコードフォントと置換する .rdl ファイルを開きます。.Rdl ファイルは、ユーティリティサーバの通常 TaskMan\Report フォルダに保管されています。
  2. rdl ファイルには以下のいずれかの機能が含まれています。

    コード 128 A の場合:

    
    Public Function GetBarCodeOutput t(ByVal inputValue As String) As String
    Dim CheckDigit As Integer = 0 
    Dim i As Integer = 0 
    Dim BarCodeOutput As String = ""
    Dim BarCodeInput As String 
    Dim BarCodeTemp  As String = ""
    Dim SingleByte  As Integer = 0 
    BarCodeInput = inputValue.ToUpper()
    For i = 1 To Len(BarCodeInput)
        SingleByte = Asc(Mid(BarCodeInput, i,1))
        BarCodeTemp = BarCodeTemp + Chr(SingleByte - 32)
    Next 
    CheckDigit = 1
    For i = 1 To Len(BarCodeTemp) 
       SingleByte = Asc(Mid(BarCodeTemp, i,1))
       CheckDigit = (CheckDigit + (SingleByte * i)) Mod 103
    Next 
    BarCodeTemp = BarCodeTemp + Chr(CheckDigit)
    For i = 1 To Len(BarCodeTemp)
        SingleByte = Asc(Mid(BarCodeTemp, i, 1))     
        If SingleByte =0 Then
           BarCodeOutput = Chr(0)
        ElseIf SingleByte > 0 And SingleByte < 94 Then
           BarCodeOutput = BarCodeOutput + Chr(SingleByte + 32)
        Else
           BarCodeOutput = BarCodeOutput + Chr(SingleByte + 103)
        End If
    Next        
    Return  "µ"+ BarCodeOutput + Chr(196)
    End Function

    コード 128 B の場合:

    
    Public Function GetBarCodeOutput(ByVal inputValue As String) As String
    Dim CheckDigit As Integer = 0 
    Dim i As Integer = 0 
    Dim BarCodeOutput As String = ""
    Dim BarCodeInput As String 
    Dim BarCodeTemp  As String = ""
    Dim SingleByte  As Integer = 0 
    BarCodeInput = inputValue.ToUpper()
    For i = 1 To Len(BarCodeInput)
        SingleByte = Asc(Mid(BarCodeInput, i,1))
        BarCodeTemp = BarCodeTemp + Chr(SingleByte - 32)
    Next 
    CheckDigit = 1
    For i = 1 To Len(BarCodeTemp) 
       SingleByte = Asc(Mid(BarCodeTemp, i,1))
       CheckDigit = (CheckDigit + (SingleByte * i)) Mod 103
    Next 
    BarCodeTemp = BarCodeTemp + Chr(CheckDigit)
    For i = 1 To Len(BarCodeTemp) 
        SingleByte = Asc(Mid(BarCodeTemp, i, 1))     
        If SingleByte =0 Then
           BarCodeOutput = Chr(0)
        ElseIf SingleByte > 0 And SingleByte < 94 Then
           BarCodeOutput = BarCodeOutput + Chr(SingleByte + 32)
        Else
           BarCodeOutput = BarCodeOutput + Chr(SingleByte + 103)
        End If
    Next        
    Return "¶"+ BarCodeOutput + Chr(196)
    End Function
    	
  3. バーコードオブジェクトを右クリックして、[式の編集] を選択します。式エディタに以下のような式が表示されます。
    ="*" & Replace(UCase(Trim(Fields!item.Value)),"", "_") & "*"

    この例では、Trim(Fields!item.Value) がバーコードで置換されるデータベースフィールドです。レポートに保管した手順を含めることもできます。

  4. 手順 2 で追加した機能を呼び出す 1 行の式を置換:
    
    =Code.GetBarCodeOutput(FieldValue)
    	

    FieldValue は、バーコードで置換されるデータベースフィールドまたはストアドプロシージャです。たとえば、

    
    =Code.GetBarCodeOutput(Trim(Fields!item.Value))
  5. 式エディターを閉じるには、[閉じる] ボタンをクリックします。
  6. バーコードオブジェクトを右クリックして、[フィールドの書式] を選択します。
  7. [フォント] タブで、適切なフォントおよびフォントサイズを選択します。たとえば、フォント にコード 128 と サイズ に 48 を選択します。
  8. [OK] をクリックします。
  9. .rdl ファイルを保存して、レポートのテストを行ってください。