Accessでバーコード、QRコードを作成する
1.はじめに
弊社バーコードリーダーをご検討、ご利用のお客様から「Microsoft Access(アクセス)にバーコードを作成する機能があるようなのですが、使い方がわかりません」というご相談をいただくため、ご参考として記事を掲載しております。
Accessはマイクロソフト社の製品です。一般的な操作方法、バーコードの精度などのお問い合わせは弊社ではお受けいたしかねます。一般的な使用方法については、アプリケーションのヘルプや市販の解説書を参照してください。
この記事のパソコン環境
アプリケーション:Microsoft Office 365 Soloに含まれるAccess 2016(2015年10月時点)
追記: Microsoft Office Home & Business 2019 Excel20196およびAccess 2019
OS:Windows 10 Pro 64bit
Microsoft Barcode Control
バーコードを作成するには、Accsess 2016の機能のひとつ、ActiveXコントロールに含まれるMicrosoft Barcode Control 16.0というバーコード作成機能を使います。
注 弊社の確認では、Microsoft Barcode Control 16.0で作成するQRコードは英数記号のデータのみ作成できました。漢字カナなどの2バイト文字は作成できません。また、古いバージョンのMicrosoft Barcode ControlにQRコードは含まれていません。
2.ExcelのデータをAccessにインポートする
Access初心者でもわかりやすく説明するため、Excelでバーコードの元データを作成します。ExcelのファイルをAccessにをインポート(取り込み)してからバーコードを作成します。
元データをExcelで作成する
図のようにExcelにデータを入力します。
セルA1に「商品コード」と入力します。その下の行に半角数字(または英数)でバーコードで表示する文字を入力します。
セルB1に「品名」と入力します。その下の行に商品コードに対応する文字(商品名など)を入力します。※バーコードで表示するのはA行ですので、B行はなくてもよいです。
シート名を「商品データ」に変更して、エクセルに適当な名前をつけてファイルを保存します。
Access 2016にExcelのデータをインポートする
Access 2016を立ち上げる。[新規]→[空のデスクトップ データベース]→ファイル名に適当な名前をつける→[作成]
新規のデータベースが出来ます。メニューの[外部データ]→その下に表示した[Excel]→[外部データの取り込み]画面が出ます。→[参照]→最初に作成した、取り込むExcelのファイルを選択→[OK]
[スプレッドシートインポートウィザード]が開きます。[先頭行をフィールド名として使う]にチェック→[次へ]
[次へ] ※詳しい方はオプションを設定。
[完了] ※[インポート先のテーブル]はExcelのシート名が表示されます。
[閉じる]
画面左の[テーブル]→[商品データ](取り込んだExcelのシート名)を開くと、Accessに取り込んだデータを確認できます。
3.Accessのレポートを作成する
バーコードはAccessのレポート(印刷時の表示形式、印刷物のデザイン)に表示させます。そのためAccessに取り込んだデータを印刷するレポートを作成します。
メニューの[作成]→その下の右側[レポートウィザード]
レポートウィザードが開きます。[テーブル/クエリ]に「テーブル:商品データ](Accessに取り込んだデータ)を選択→[選択可能なフィールド]から、レポートに表示する内容を選択して「>」を押し、[選択したフィールド]に移す。
[グループレベルを指定してください。]→(そのまま)[次へ]※詳しい方は好みで指定
[レコードを並べ替える方法を指定してください。]→(そのまま)[次へ]※詳しい方は好みで指定
[レポートの印刷形式を選択してください。]→レイアウト[表形式]→[次へ] ※お好みで選択して下さい。
[完了]
レポートが出来ました。プレビューが表示されます
4.Accessのレポートにバーコード、QRコードを作成する
バーコードを作成する
レポートのプレビュー画面の、適当な場所で右クリック→[デザインビュー]
レポートのデザインビューの[詳細]の部分を、マウスのドラッグなどで広くする→[詳細]の部分をクリックしておき、フォーカスしておく(ここにバーコードを入れるため)→メニューの[デザイン]→その下の「コントロール」と表示しアイコンが並んでいる場所の右端▼を押し、隠れている部分を表示させます。
(メニューの[デザイン]→)[ActiveXコントロール]を選択
[ActiveX コントロールの挿入]→[Microsoft BarCode Control 16.0]→[OK]
レポートのデザイン[詳細]部分にバーコードが表示されます。バーコードを右クリック→[プロパティ]→[プロパティシート]に[BarCodeCtrl9]が開きます。※プロパティでの表示は16.0でなく9となっています。
[コントロールソース]→[商品コード](バーコードにするデータ)を選択
バーコードを右クリック→[Microsoft BarCode Control 16.0 オブジェクト]→[プロパティ]
[Microsoft BarCode Control 16.0 のプロパティ]→[スタイル]「Code-39]を選択→[データの確認] 「スタート/ストップ文字を付加」を選択→[OK]※ひとまずはこの通り設定して下さい。
(メニューの[デザイン])→[表示]→[印刷プレビュー]
印刷プレビューが表示されます。[印刷]を押すと印刷します。
QRコードを作成する
上記の続きで、レポートのプレビュー画面の、適当な場所で右クリック→[デザインビュー]バーコードを右クリック→[Microsoft BarCode Control 16.0 オブジェクト]→[プロパティ]「QRコード]を選択→選択→[OK]※誤り訂正レベルは任意で選択。L、M、Q、Hの4種類。Mが使われることが多いようです。
QRコードを設定したレポートのデザイン画面
QRコードを設定したレポートのプレビュー画面
5.Microsoft BarcodeControl 16.0のプロパティ
スタイル
バーコードの種類を設定します。各項目先頭の0~10の値はVBAなどで直接コードを編集する場合のパラメータ(値)です。
0 UPC-A | アメリカの商品コード。数字11桁+チェックデジット1桁 ※チェックデジットが誤った値の場合バーコードリーダーで読み取れません。 |
---|---|
1 UPC-E | アメリカの商品コード。短縮バージョン。数字7桁+チェックデジット1桁 ※チェックデジットが誤った値の場合バーコードリーダーで読み取れません。 |
2 JAN-13 | 日本の商品コード。数字12桁+チェックデジット1桁 ※チェックデジットが誤った値の場合バーコードリーダーで読み取れません。 |
3 JAN-8 | 日本の商品コード。短縮バージョン。数字7桁+チェックデジット1桁 ※チェックデジットが誤った値の場合バーコードリーダーで読み取れません。 |
4 Casecode | 物流コードITFです。ベアラーバー(印刷圧を一定にするための外周枠)が表示されます。 |
5 NW-7 | 基本的は数字のみを表示。桁数制限無し。初期値ではスタート/ストップキャラクタ(スタート/ストップ文字)が無いため、必ず「データの確認項目で「1-スタート/ストップ文字」を設定します。 |
6 Code-39 | 主に数字とアルファベット大文字を表示。桁数制限無し。初期値ではスタート/ストップキャラクタ(スタート/ストップ文字)が無いため、必ず「データの確認項目で「1-スタート/ストップ文字」を設定します。 |
7 Code-128 | ASCIIの128文字(数字、アルファベット大文字小文字、記号)を全て表示可能な種類。ただしバーコードコントロール9.0では制御文字(HEX 00~1F)や特殊なキャラクタ(FNC1、CodeAなど)を表示できず、目視読み取りできる文字のみをバーコード化します。桁数制限なし。バーとスペースの太さが4段階あるため、高精度な印刷が必要です。 |
8 U.S.Postnet | アメリカの郵便バーコード |
9 U.S.PostalFIM | アメリカの郵便バーコードのひとつ |
10 カスタマバーコード | 日本の郵便カスタマバーコード。名称はバーコードですが、一次元バーコードリーダーで読み取れません。 2次元バーコードリーダーで読み取ります。 |
11 QRコード | 2次元バーコード。 |
サブスタイル
スタイルで設定したそれぞれのバーコードに対する補足項目です。
UPC-A | JAN-13を参照 |
---|---|
UPC-E | JAN-13を参照 |
JAN-13 | 0 標準 13桁で表示 1 2桁(ISSN)補助コード 13桁のJAN-13の右側に2桁の補足コード(アドオンコード)が表示されます 2 5桁(ISBN)補助コード 13桁のJAN-13の右側に5桁の補足コード(アドオンコード)が表示されます 3 POS Casecode 13桁で表示。カートンに印字するため、ITFのようにベアラーバー(印刷圧を一定にするための外周枠)が表示されます。 |
JAN-8 | JAN-13を参照 |
Casecode | 0 標準 :14桁のITFを作成 1 拡張 :16桁のITFを作成。*国際取引商品番号"GTIN"推進により、現在ITFの16桁は廃止。 2 アドオン :通常は使いません |
NW-7 | 基本的は数字のみを表示。桁数制限無し。初期値ではスタート/ストップキャラクタ(スタート/ストップ文字)が無いため、必ず「データの確認項目で「1-スタート/ストップ文字」を設定します。 |
6 Code-39 | 主に数字とアルファベット大文字を表示。桁数制限無し。初期値ではスタート/ストップキャラクタ(スタート/ストップ文字)が無いため、必ず「データの確認項目で「1-スタート/ストップ文字」を設定します。 |
7 Code-128 | ASCIIの128文字(数字、アルファベット大文字小文字、記号)を全て表示可能な種類。桁数制限なし。バーとスペースの太さが4段階あるため、高精度な印刷が必要です。 注 Microsoft Barcode Control はASCIIの制御文字(00h~1Fh)やCode 128の特別なキャラクタ(FNC1、CodeAなど)を表示できず、目視読み取りできる文字のみをバーコード化します。 |
8 U.S.Postnet | アメリカの郵便バーコード |
9 U.S.PostalFIM | アメリカの郵便バーコードのひとつ |
10 カスタマバーコード | 日本の郵便カスタマバーコード。名称はバーコードですが、一次元バーコードリーダーで読み取れません。 2次元バーコードリーダーで読み取ります。 |
11 QRコード | 2次元バーコード。 注 Microsoft Barcode Control 16.0で作成するQRコードのデータは英数記号のみ対応します。漢字カナなどの2バイト文字は対応しません。また古いバージョンのMicrosoft Barcode Controlに、QRコードの作成機能は含まれていません。 |
データの確認
バーコード固有の項目を設定します。必ず条件にあう値に変更してください。変更しないと読み取り不可のバーコードが作成されます。
UPC-A | JAN-13を参照 |
---|---|
UPC-E | JAN-13を参照 |
JAN-13 | 0 確認なし 最終1桁のチェックデジットを確認しません。バーコード化する元のデータの値をそのままバーコード化します。元のデータのチェックデジットが誤りの場合、誤ったバーコードが作成されます。誤ったバーコードはバーコードリーダーで読み取り出来ません。 1 無効なら修正 最終1桁のチェックデジットを確認します。バーコード化する元のデータの値のチェックデジットが誤りの場合、最終1桁を修正した値に変更します。JAN-13の場合、元のデータが12桁なら、13桁目に正しいチェックデジットを付加して13桁のバーコードを作成します。 2 無効なら非表示 最終1桁のチェックデジットを確認します。バーコード化する元のデータの値(13桁)のチェックデジット(13桁目)が誤りの場合、バーコードは作成されません。JAN-13の場合、元のデータが12桁なら作成されません。 |
JAN-8 | JAN-13を参照 |
Casecode | 0 確認なし 最終1桁のチェックデジットを確認しません。バーコード化する元のデータの値をそのままバーコード化します。元のデータのチェックデジットが誤りの場合、誤ったバーコードが作成されます。バーコードリーダーがITFのチェックデジットを検査する設定の場合、読み取りできません。 1 無効なら修正 最終1桁のチェックデジットを確認します。バーコード化する元のデータの値のチェックデジットが誤りの場合、最終1桁を修正した値に変更します。ITF(標準、14桁)の場合、元のデータが13桁なら、14桁目に正しいチェックデジットを付加して14桁のバーコードを作成します。 2 無効なら非表示 最終1桁のチェックデジットを確認します。バーコード化する元のデータの値(13桁)のチェックデジット(13桁目)が誤りの場合、バーコードは作成されません。JAN-13の場合、元のデータが12桁なら作成されません。 |
NW-7 | 0 確認なし スタート/ストップ文字が無いバーコードが作成されます。バーコードリーダーでは読み取りできません。 1 スタート/ストップ文字を付加(必ず設定) スタート/ストップ文字(データの両端に"a")が有るバーコードが作成されます。バーコードリーダーでは読み取りできます。必ずこの値に設定してください。 |
Code-39 | 0 確認なし スタート/ストップ文字が無いバーコードが作成されます。バーコードリーダーでは読み取りできません。 1 スタート/ストップ文字を付加(必ず設定) スタート/ストップ文字(データの両端に"*")が有るバーコードが作成されます。バーコードリーダーでは読み取りできます。必ずこの値に設定してください。 |
Code-128 | データの確認は無し チェックキャラクタは自動的に付加されます。Code128は目視文字にチェックキャラクタを表示しません。また、通常はバーコードリーダーもチェックキャラクタを出力しません。 |
QRコード | 0 誤り訂正レベルL 1 誤り訂正レベルM 2 誤り訂正レベルQ 3 誤り訂正レベルH LからHになるほど誤り訂正率は上がりますが、QRコードの寸法は大きくなります。 |
線の太さ
バーコードのバーとスペースの太さ(幅)を選択します。
0 極細線、1 細線、2 中細線、3 標準 (初期値)、4 中太線 (中太線以上の太さを推奨します) 、5 太線、6 極太線、7 超太線
※QRコードでは線の太さのプロパティは反映されないようです。
バーコードの向き
バーコードの表示および印刷時の方向を選択します。
0 0度 | 正方向 |
---|---|
1 90度 | 目視文字が右側にくるように回転 |
2 180度 | 逆方向 |
3 270度 | 目視文字が左側にくるように回転 |
6.注意点 読めないバーコードの例
十分にテストする
BarcodeCondrolは、1つのバーコード内に、いろいろな幅の黒いバーと白いバーができてしまうことがあります。誤差が大きいとバーコードリーダーは読み取りません。利用するときは、バーコードリーダーで十分にテストしたほうがよいです。
Code39の例
読めないCode-39 | バーの幅が不均等 |
---|---|
読めるCode-39 | バーの幅が均等 |
よく使われるCode-39とNW-7は、黒いバー、白いバーそれぞれ、「細」と「太」の2種類の幅のバーで出来ています。大雑把な説明ですが、細い線1本の幅が1mmなら、太い線1本の幅は3mm(細い線が3本分)です。1つのバーコードのどこをみても、その2種類の幅のバーだけがあります。※詳しく説明すると、比率の範囲は1:2.2~3.0です。
QRコードの例
読めないQRコード | セルのサイズが不均等 |
---|---|
読めるQRコード | セルのサイズが均等 |
QRコードは、セルという小さな正方形が縦横に整列して出来ています。一見、正しく見えるQRコードでも、この小さな正方形が場所によって長方形のようになっていると、読み取りません。
バーコードのサイズについて
バーコードデータの桁数を多くすると、1次元バーコードは幅が長くなり、QRコードは縦横の寸法が大きくなります。ですが、Microsoft Barcode Controlはバーコードデータの桁数を変えてもバーコードオブジェクトのサイズは固定されたままです。本来入りきらない幅に多くの桁数を入れて読めないバーコードになることもあります。Microsoft Barcode Controlは細かな調整ができないため、利用するときは注意が必要です。
JAN-13の場合 : 使えるデータの桁数は12桁
JAN-13の13桁目、JAN-8の8桁目はチェックデジットという値です。チェックデジットは1桁目から最終桁直前の桁までの数値を一定の計算方法で算出した値ですので任意のデータを付加できません。特にインストアコード(社内コード)などでJANを使用する場合に注意してください。マスターデータに誤りがあると誤ったバーコードが作成されて読み取りできない原因となります。
間違ったJAN-13の例。JAN-13に変換するテーブルの誤ったデータ。JAN-13は13桁目に任意のデータを付加できません。
そのままJAN-13にバーコード変換すると誤ったチェックデジットで表示され、バーコードリーダーで読み取れないものが出来ます。
Accessのバーコードコントロールで正しいJAN-13を作成する方法
レポートのデザイン画面でバーコードをダブルクリックしバーコードコントロールのプロパティを開きます。リストボックス「データの確認」から「1-無効なら修正」を選択し「OK」をクリックします。元のデータは誤ったチェックデジットのままですが、13桁目(チェックデジット)が修正されたJAN-13が表示されます。
修正されたバーコードはバーコードリーダーで読み取れます。 なお、元のデータが12桁の場合は チェックデジットが付加されて13桁で表示されます。