郵便番号が3桁超で、“-”が無ければ“-”を挿入するレポート上のコード。
前のレコードの郵便番号が Null であれば、当該レコードに郵便番号があっても表示されない!
Debug は郵便番号が入っているのが確認できるが、実際には(プレビューでは)表示されていない。
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim strYubin as String strYubin = StrConv(Nz(Me.txt郵便番号), vbNarrow) If (strYubin = "") _ Or (Len(strYubin) <= 3) _ Or (InStr(strYubin, "-") > 0) Then Me.prt郵便番号 = get_Null(strYubin) Else Me.prt郵便番号 = Left(strYubin, 3) & "-" & Mid(strYubin, 4) End If Debug.Print Me.txt出力順, Me.txt郵便番号, strYubin, Me.prt郵便番号 End Sub
- get_Null 関数
- "" であれば Null を返す関数。
- Me.txt郵便番号
- 非表示のレポート上のテキストボックス
- Me.prt郵便番号
- レポート上のテキストボックス
- このコードをコメントアウトし、
- ソーステーブルに同じコードで更新をかける。
- レポートではソーステーブルをそのまま表示する
ように変更したら、まともに表示された。
レポート上では、ゴチャゴチャ「修正をかけない方がよい」と言うことか‥‥