まりふのひと

郵便番号の出かたがおかしい(続き)

昨日の物件が解決していなかった。
A4版用紙に2列×6行のラベルを印刷するようにしているが、

  • Excel 上では)郵便番号は入力されているのに、
  • Access で)印刷されない現象がある。
  • 全部なら解るのに、12ヶ中の1ヶだから始末が悪い。

Accessのモジュール

レポートの 詳細_Print で行っている。

    • str郵便番号: Dim *** as String
    • Me.txt郵便番号: Excel からつなげたデータ
    • Me.prt郵便番号: レポート上の項目
※表示されないモジュール
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)

    str郵便番号 = StrConv(Nz(Me.txt郵便番号), vbNarrow)
    If (str郵便番号 = "") _
            Or (Len(str郵便番号) <= 3) _
            Or (InStr(str郵便番号, "-") > 0) Then
        Me.prt郵便番号 = str郵便番号
    Else
        Me.prt郵便番号 = Left(str郵便番号, 3) & "-" & Mid(str郵便番号, 4)
    End If

表示されないデータのデバッグでは、Me.prt郵便番号 にデータは入っているが、実際には表示されない。

※表示されたモジュール

始めにインプットのデータを代入後、修正する形式にした。

    Me.prt郵便番号 = Me.txt郵便番号
    str郵便番号 = StrConv(Nz(Me.txt郵便番号), vbNarrow)
    
    If (str郵便番号 <> "") _
            And (Len(str郵便番号) > 3) _
            And (InStr(str郵便番号, "-") = 0) Then
        Me.prt郵便番号 = Left(str郵便番号, 3) & "-" & Mid(str郵便番号, 4)
    End If
  • 当該データは、数字のみで、“-”は含まれていない。
  • どう考えても、結果は同じのはず‥‥
  • この1つ前のレコードの郵便番号は Null (入力なし)であったが、それが影響しているとは思えない。