JANコードには必須 チェックディジットをAccessでつくる

バーコードでは最も認知度の高い種類がJANコードです。

とはいっても、よほどのバーコードマニアでもない限りJANコードという名称を聞いても

「何それ?」

となると思います。

JANコードっていうのはコレです。

f:id:me-hige:20210606160325p:plain

これは何かというと・・・

f:id:me-hige:20210606160404p:plain
f:id:me-hige:20210606160516p:plain

マルちゃん正麺 味噌味です。

別に、マルちゃん正麺だけがJANコードを使っているわけではなくて、お店のPOSシステムの商品識別用のバーコードで最もメジャーなバーコードです。

前記事でも言いましたが、JANコードの一番右の1桁はチェックディジットと呼ばれるもので、所定の計算式で決められています。

このチェックディジットの計算を毎回電卓を使って計算するのも大変ですよね。

今回はMicrosoftAccessでチェックディジットの計算をするシステムを作ってみたいと思います。

目次

MicrosoftAccessでチェックディジットを作る

ツールバーの「作成」を選択して、右端にある「標準モジュール」をクリックします。

f:id:me-hige:20210606165942p:plain

VBA(VisualBasicforApplications)が起動します。

f:id:me-hige:20210606170102p:plain

ここにこのコードを入力します(コピペでOK)


Public Function GFnChkDedit(ByVal argBarcode As Variant) As Variant

    Dim intCD As Integer
    Dim intLen As Integer
    Dim i As Integer
    
    GFnChkDedit = Null
    If IsNull(argBarcode) Then Exit Function
    intLen = Len(argBarcode)
    For i = 1 To intLen
        intCD = intCD + IIf((intLen - i) Mod 2, Mid(argBarcode, i, 1), Mid(argBarcode, i, 1) * 3)
    Next i
    GFnChkDedit = argBarcode & (10 - (intCD Mod 10)) Mod 10
    
End Function

 モジュールの中身を全部このコードに置き換えてしまえばOKです。

f:id:me-hige:20210606171551p:plain

こうなりましたね。

名前を付けて保存をします。

f:id:me-hige:20210606171711p:plain

フォームを新規作成で作ります。

非連携フォームでOKです。

非連携フォームとは、フォームにテーブルやクエリが紐づいてないフォームの事です。

VBAを動かすだけのフォームを作るときによく使います。

フォーム名は「チェックディジット作成器」とでも名付けましょう。

f:id:me-hige:20210606172104p:plain

上側のテキストボックスの名前は「7桁変換」として

データタブの定型入力を「0000000」とします。

f:id:me-hige:20210606172531p:plain

下側のテキストボックスは「機器ID」と名前をつけます。

コントロールソースに

=GFnChkDedit([7桁変換])    

 と入力します。

f:id:me-hige:20210606172837p:plain

 これで出来上がりです。

フォームビューにして、テキストボックスに7桁の数値を入力していみると、

チェックディジットが付与された8桁の数値を表示してくれます。

f:id:me-hige:20210606173150p:plain
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

こんにちはAccessの壺です。
臨床工学技士としてどこかの病院で働いています。
夜な夜なMicrosoftAccessで遊びたおして、独学で病院内のいろんなシステムを開発してきました。
透析患者さんの透析条件管理システムやME機器管理システム、アンケート集計などなど作ってきました。
Accessの楽しさを発信するために、このサイトを運営中。

コメント

コメントする

目次