概要
| この記事の結論 Accessのバーコード帳票は、テーブルへ保存したコードを、規格に対応する部品や生成済み画像でレポートに表示して作ります。表示できただけで完了とせず、実際の用紙とスキャナーで元のコードと一致することを確認してください。 |
この記事でわかること
- 方式と利用環境を選ぶ
- 商品コードを文字列として保存する
- レポートへ対応するバーコードを配置する
- プレビューと実際の読取を検証する
この記事の主な内容
- バーコードは元のコードと表示方式を分けて考える
- 方式と利用環境を選ぶ
- 商品コードを文字列として保存する
- レポートへ対応するバーコードを配置する
- プレビューと実際の読取を検証する
- 配布先でも同じ帳票を出せるようにする
- よくある質問
想定読了時間:約8分
1 バーコードは元のコードと表示方式を分けて考える
Accessのバーコード帳票は、テーブルへ保存したコードを、規格に対応する部品や生成済み画像でレポートに表示して作ります。
表示できただけで完了とせず、実際の用紙とスキャナーで元のコードと一致することを確認してください。
バーコードとは、文字や番号を規格に沿って線や空白などに符号化した表示です。
任意の縦線を並べたり、フォントだけを変えたりしても、正しく読み取れるコードになるとは限りません。

2 方式と利用環境を選ぶ
既存システムがMicrosoft Barcode Controlを使う場合は、利用PCのActiveX一覧に対応する部品があるか確認します。
参照設定だけでは未導入の部品は追加されません。
WindowsとOfficeのbit数は別々に確認し、部品がOffice側に対応していることを確かめます。
組織の設定でActiveXが制限されている場合は、その管理方針に沿って方式を選びます。
設定を一律に緩めるのではなく、対応する画像方式なども検討してください。
設定例と確認点

| 方式 | 向く場面 | 確認点 |
|---|---|---|
| ActiveX | 既存帳票の互換維持 | 部品導入とbit数 |
| 画像 | 部品依存を減らす | 規格・解像度・保存先 |
| フォント | 符号化処理がある | 配布権・対応文字 |
3 商品コードを文字列として保存する
T_ラベルに商品コードと商品名を作成します。商品コード「001234」は短いテキスト型で保存します。
数値型にすると先頭の0が失われ、別のコードを印刷する原因になります。
JANなどの流通コードには採番や桁数のルールがあります。
社内用の任意番号を、そのまま流通用コードとして使わないでください。
今回の001234は説明用の架空の社内コードです。

操作手順
1. 商品コードを短いテキスト、商品名を短いテキストで用意します。
2. 001234とテスト商品を1件登録します。
3. テーブルをレコードソースにレポートを作成します。
4. 商品名と元コードを文字でも配置します。

4 レポートへ対応するバーコードを配置する
レポートをデザインビューで開き、利用できるBarcode ControlをActiveXコントロールから配置します。
コントロールソースに商品コードを指定し、部品固有の設定で採用する規格を選びます。
プロパティ名や設定値は部品の版によって異なるため、その製品の資料に合わせてください。
画像方式では、規格に対応する生成処理で作成した画像を、対象レコードへ結び付けます。
機密の伝票番号を、未承認の外部生成サービスへ送る運用は避けます。

5 プレビューと実際の読取を検証する
バーコード周囲には規格に応じた余白が必要です。
狭い枠に無理に縮小すると線幅や空白が潰れるため、レポートの用紙サイズと印刷時の倍率を揃えます。
PDF経由で出す場合も、実際の印刷経路で確認しましょう。
スキャナー結果をテキストエディターへ出し、001234と一致するか照合します。
チェックデジットや開始・終了文字、EnterやTabの送信設定も確認してください。
設定例と確認点
| 試験 | 確認内容 |
|---|---|
| 先頭ゼロ | 001234がそのまま読める |
| 最大長 | 桁数が増えても欠けない |
| 実用紙 | にじみ・ずれがない |
| PDF経由 | 印刷倍率が変わらない |

既存Accessへの影響を判断できない場合
本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。
対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。
6 配布先でも同じ帳票を出せるようにする
作成PCで動いても、配布先にActiveX部品やフォントがないと印刷できません。
AccessまたはRuntime、Officeのbit数、使用部品、画像パス、プリンター条件を記録します。
ラベル再発行時に同じコードを使うか、新しいコードを採番するかも業務ルールです。
読取精度と番号の重複防止を分けて検証すると、表示は正常なのに業務で使えない状態を防げます。

7 よくある質問(FAQ)
部品の導入状態、対応bit数、組織の制限を確認します。
無作為なOCXの導入は避けます。
短いテキストで保存します。
既に失われた0は表示形式だけでは正しく復元できない場合があります。
規格、線幅、周囲の余白、印刷倍率、機器設定を確認します。
まとめ
ラベル再発行時に同じコードを使うか、新しいコードを採番するかも業務ルールです。
読取精度と番号の重複防止を分けて検証すると、表示は正常なのに業務で使えない状態を防げます。
本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。
対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。
参考情報
Microsoft:データ型
https://support.microsoft.com/en-us/access/introduction-to-data-types-and-field-properties
Microsoft:レポートのRecordSource
https://learn.microsoft.com/en-us/office/vba/api/access.report.recordsource
Microsoft:画像のPicture
https://learn.microsoft.com/en-us/office/vba/api/access.image.picture