Access2013以降で印刷したときバーコードの高さが勝手に変わってしまう場合がある

Access2007で印刷していた帳票をAccess2013で印刷したところ、バーコードの高さが設計時と違う高さになり、下の欄に表示されている文字にかぶってしまった。

調べたところMicrosoft Barcode Control Version 14.0の不具合でVisibleプロパティにTrueをセットしたときにHeightプロパティが勝手に変わってしまうそうだ。
(Visibleプロパティが元々TrueのところにTrueをセットしても同じ)

確かに常時表示しているバーコードの高さは変わらないが、印刷内容によって表示/非表示を切り替えているバーコードの高さが変わってしまう。

レポートの読込時イベントで設計時の高さを変数に保存しておき、詳細セクションのフォーマット時イベントでVisibleプロパティにTrueをセットした直後に、保存しておいたバーコードの高さをセットするようにすることで回避した。

Option Compare Database
Option Explicit

Dim iBcdHeight As Integer

'*********************************************************************************
'Report_Load()
' レポート読み込み時処理
'*********************************************************************************
Private Sub Report_Load()
   'バーコードコントロールの設計時の高さを保存しておく。
   iBcdHeight = bcdHTSSHC.Height
End Sub

'*********************************************************************************
'詳細_Format()
' 詳細セクション Format時イベント処理
'*********************************************************************************
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

   If (バーコードを表示しない条件) = True Then
     bcdHTSSHC.Visible = False
   Else
     bcdHTSSHC.Visible = True
     'バーコードコントロールの設計時の高さをセットし直す。
     bcdHTSSHC.Height = iBcdHeight
   End If
End Sub

この不具合はAccess 2016のMicrosoft Barcode Control 16でも発生する。
中身はVersion 14とほぼ同じらしい。

Access 2007に入っているMicrosoft Barcode Control Version 9.02以前では発生しない。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

みのるさん
2018年08月30日 10:14
大変参考になりました。解決です。

この記事へのトラックバック