• ベストアンサー

MS-Access97でバーコードをタックシールに印刷させるには?

MS-Access97の標準で備えている機能(?)のMicrosoft Barcode Control(かな?失念してしまいました)を使って1シート12枚のタックシールにバーコードを印字をしたいのです。タックシールのイメージはこんな感じになります。 1, 2 3, 4 5, 6 7, 8 9,10 11,12 ただバーコードを印字するだけならできるのですが、例えば3~7の部分の5枚だけに印字するというような方法はないでしょうか?業務で使用するためあくまでも素のMS-Access97でできれば良いのですが。 どうか回答をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • stork
  • ベストアンサー率34% (97/285)
回答No.4

みたび、Storkです。 気にはなっていたのですが、忙しくて遅くなりました。 >バーコードの残骸のようなものは印字されてしまうのですよ.... 断言はできないのですが、Code39のスタートストップビットが残っているのではないかと思います。 確認方法は、バーは単純なもの(バーの数が少ない)で、可読文字がついていれば「* *」のような形になっているのではないかと思います。 もし、これが原因でしたら、バーコードコントロールのプロパティ―全般―データの確認で確認なしにしてください。 以下あやふや、自信なし、実証が必要です。 --------------------------------------------- スタートストップビットなしでも、運用に支障がなければ(リーダーで読めれば)そのままでも構わないでしょう。 リーダーで読めない場合は、「商品名:」のときのように、強制的に最初と最後に「*」をつけるとスタートストップビット付きと同じバーになると思います。 前回「大丈夫」といっておきながら「自信なし」になってすみません。

tomatokids
質問者

お礼

何度もアドバイスをいただきありがとうございます。 「残骸のようなもの」はおっしゃるとおり「*」でした。 スタートストップビットなしの設定でバーコードを印字すれば空データのレコードはバーコードが印字されませんでした。 が、正しく印字されなければならないバーコードがハンディーターミナル(バーコードリーダー)で読むことができませんでした(T_T) スタートストップビットありのバーコードは正しく読めるだけにちょっと悔しいです。これはハンディーターミナル(バーコードリーダー)の仕様なんですかね。 本当に何度もアドバイスをいただきありがとうございました。

その他の回答 (5)

  • stork
  • ベストアンサー率34% (97/285)
回答No.6

たびたびすみません、storkです。 書き忘れました。 >これはハンディーターミナル(バーコードリーダー)の仕様なんですかね 仕様ではなく設定だと思います。 code39の初期設定では、「スタートストップビットあり」が通常です。今のバーではデータの最初と最後が判別できていないんですね。 私の知っている範囲では、ほとんど(?)の機種で「なし」に設定できると思います。

tomatokids
質問者

お礼

何度も何度も申し訳ございません。 ハンディーターミナルは会社でいろいろと設定済みのものが与えられたため、細かな設定をすることができないのです。たぶん理解している者が会社にはいないと思います。 >強制的に最初と最後に「*」をつけるとスタートストップビット付きと同じバーになると思います。 実は#4の上記部分の意味がわからなかったため試していなかったのですが、意味がわかりました。今日、明日とお休みなので出勤したら試してみたいと思います。 結果は#4のお礼部分に記入したいと思います。

  • stork
  • ベストアンサー率34% (97/285)
回答No.5

storkです。 >これはハンディーターミナル(バーコードリーダー)の仕様なんですかね データに「*」を付加してリーダーで読めるか確認されましたか? #4に書いたとおり、それで大丈夫だと思うのですが.... 他の業務に支障がなければリーダーの設定を「スタートストップビットなし」に設定してもいいと思います。

tomatokids
質問者

お礼

今日試してみました。そうしたらアッサリと読めました。 もしかしたら語弊があるかもしれないけど、スタートストップビットってただ「*」が付いただけなんですね。てっきりチェックデジットの事だと思っていました。 早速VBでそれらしい事を書いて活用したいと思います。本当にありがとうございました。

  • sgh
  • ベストアンサー率61% (75/121)
回答No.3

つまり、シールがもったいないから、5枚使ったら6枚目から印刷したい という意味だと理解して説明します。 以下の例は、ACCESS2000で作った現品表(箱に貼るシール)を印刷するために 作ったモジュールです。 ACCESS97で動作するかは未確認です。HELPで"MoveLayout"を検索してみてくだ さい。 まどろっこしいことをやっているのは、1箱に何個入れることができるかを あらかじめ計算したものを"NUMBER_OF"に入れて、この枚数分だけ印刷するよう にしています。 参考になるかはわかりませんが、レポートのイベントをほぼそのままアップ します。 Option Compare Database Option Explicit Dim SkipCount As Integer Dim GroupNum As Integer Dim GroupCount As Integer Private Sub Report_Open(Cancel As Integer) On Error Resume Next SkipCount = InputBox("スキップする枚数", "印刷") If Err Then Cancel = True End Sub Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer) GroupCount = Me!NUMBER_OF '表示する枚数の取得 End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If SkipCount > 0 Then Me.MoveLayout = True '次の印刷位置に移動する Me.NextRecord = False '次のレコードに進めない Me.PrintSection = False 'そのページに印刷しない SkipCount = SkipCount - 1 ElseIf GroupCount > 1 Then Me.NextRecord = False '次のレコードに進めない GroupCount = GroupCount - 1 Else Me.NextRecord = True '次のレコードに進む End If End Sub

tomatokids
質問者

お礼

アドバイスをいただきありがとうございます。 sghさんのおっしゃるとおりタックシールの半端がもったいないのでこのような質問をさせていただきました。 このサンプルはレポートの「開く時」のイベント部分に記述すればいいんですよね。「詳細」部分は「印刷時」に記述し、そのレポートを開いてたら私のイメージ通りプレビューには表示されました。ちゃんと「6枚目から」とか「3枚目から」とか。 プレビューには正しく表示されるのですが、印刷するとなぜか「1枚目」からの普通の印字になってしまいます。なぜだかわかりますか? 解決まであとちょっとだと思うのですが、どうかもう少しお付き合いしてください。

  • stork
  • ベストアンサー率34% (97/285)
回答No.2

大丈夫。できますよ。 「商品名:」などのボックスをデータが空だったら、Visible=falseにするのが王道です。 しかし、コーディングが面倒なのでそれはやめましょう。回避策として、「商品名:」などの固定部分もデータとして一時テーブルに吐き出せばOKですよ。

tomatokids
質問者

お礼

確かにコントロール部分のプロパティをtrueやfalseにすればテキスト部分とかは対応できそうですが、やはり面倒なのでワークテーブル作成時に「商品名:」の部分も追加して「商品名:●●●」というかたちのデータを作成するという方法を実はやってました。そうすればレポート上印字するテキストボックスは一つでいいですからね。 ただそうやってもバーコードの残骸のようなものは印字されてしまうのですよ。なぜですかね。 ちなみに印字するバーコードの形式はcode39です。

  • stork
  • ベストアンサー率34% (97/285)
回答No.1

>例えば3~7の部分の5枚だけに印字.... 印字するデータを一時テーブルに書き出します。 その際に先頭に空データを2行追加しておけばよいのではないでしょうか。

tomatokids
質問者

お礼

早速の回答ありがとうございます。 補足のところにも書きましたが、空データのレコードは「何も印字しない」印字方法ってないですか? アドバイス等ありましたら引き続きお願いします。

tomatokids
質問者

補足

印字するデータをワークテーブルという一時テーブルに書き出して印字しています。 例でいうと1~2レコードには空データ、3~7レコードには印字データがっているテーブルをつくってそれをもとに印字します。 レポートはタックシール用なので1枚分用意すれば12枚分のデータが変わるだけでレイアウトはすべて同じになります。タックシールには「商品名:●●●」とその商品に対応したバーコードを印字します。●●●の部分は印字用のワークテーブルの値をそのまま表示するので問題ないのですが、タックシールの1,2枚目の部分に「商品名:」とバーコードの素の状態(ゴミのようなよくわからないもの)が印字されてしまします。 印字スタート位置の異なるレポートを12種類用意すればなんとか印字できますが、管理が大変なのでやりたくありません。「空データのレコードは何も印字されない」印字の方法はないでしょうか?

関連するQ&A

  • Access97 バーコード 番号の非表示

    レポートにMicrosoft ActiveX コントロール/Microsoft BarCode Controlを挿入しました。 表示は上手くいきました。 が、バーコードの下に番号(元データ)が表示されています。これを非表示にする方法を教えてください。 (バーコードのみにしたいという意味です) Access97です。よろしくお願いします

  • AccessでバーコードActiveX表示されない

    Access 2010を使用しています。フォームでバーコードコントロールを挿入したいので、ActiveXの挿入から「Microsoft バーコードコントロール 14.0 」を選択しようとしました。 しかしながら、バーコード、barcodeと含んだコントロールが見つかりません。何回も見なおしたのですが、バーコードの文字を含んだ文字列はないのです。 MSBCODE9.ocxも所定のフォルダに有ります。どうすれば、バーコードコントロールを挿入することができるでしょうか?

  • Accessのバーコードについて

    Accessでラベルシールにバーコードを印刷したいのです。 過去ログを見ると、ActiveXコントロールを利用する方法がありました。 しかし、宛名ラベルウィザードの中で、「カスタマバーコードを印字する」という箇所があるのを見つけました。 これはどういう機能なのでしょうか。ActiveXコントロールとは異なるのでしょうか。試してみましたがバーコードは表示されません。 Access2000です。

  • Access2000で作ったバーコードをExcelへ吐出したい

    おはようございます。 OS:WindowsXP Pro , Windows2000 Access2000 , Excel2000 上記の構成で仕事の補助として、バーコードの利用を考えています。 そこで、NW7の形式のバーコードを作るのに Excel2000のシートに作ったバーコードのソース(?)を Access2000にインポートし、MS Barcode Controlにてバーコードを「レポート」では作れました。 ここで、Accessのレポートではバーコードを作れるようになったのですが、 そのバーコードを図形としてExcelのセルに吐出せるようにする方法で悩んでいます。 Excel内で地図のようなものを作って、それに貼り付けようと考えています。 レポートを印刷した結果を切り貼りするには、バーコードの数が多く難儀なもので(^_^;) どなたか、上記のことを実現する方法(出来上がったバーコードをテーブルに保存する方法でも良いのですが。)をご存知ないでしょうか? よろしくお願いいたします。

  • 郵便のカスタマーバーコード付きラベル印刷について

    郵便で8000名に手紙を出します。エクセルで住所管理をしています。 タックシール(宛名ラベル)に印刷をしたいと思っています。 その際に、以下の条件を満たす、ソフトを教えてください。 (1)住所をタックシールに印刷する際に、カスタマーバーコード印刷ができること (2)さらに住所、カスタマーバーコードと共に、1番~8000番までのID番号を印字したいのですが、  ・ID番号の印字が可能か  ・4桁まで対応可能か その際、0001~8000となるのか、1~8000となるのかが分かれば知りたい。 また、カスタマーバーコードの左右の長さが収まる、タックシール(宛名ラベル)の大きさ(A4シートに12枚で大丈夫?)、おすすめメーカーがあれば、教えてください。  

  • TM-L90のバーコード印刷

    TM-L90の印刷設定にてバーコードを登録してACCESSの帳票を出力しても数字が印字されバーコードが印刷されない。 フォント名は[Barcode1]エイリアス名[JAN13]タイプ[JAN13(EAN)]を登録して Accessの帳票にて商品コード(13桁)を作成しフォント名に[Barcode1]を指定したがバーコードが印刷されない ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • Excel バーコード作成に関して教えてください

    初心者です。 現在、アクセスとエクセルにてバーコードの作成をしようと試みています。 エクセル上でバーコードの作成をしたいのですが、開発タブのActiveXコントロールの挿入に、Microsoft Barcode Controlが見つかりません。 各ソフトのバージョンは、エクセルは2010で、アクセスは2013になっています。 (もともとアクセス以外の2010バージョンが内臓されており、追加でアクセスをインストールしたため) エクセルとアクセスのバージョンが異なっている場合、難しいのでしょうか。 それとも探したりないのでしょうか。 どなたか教えてください。

  • VBでアクセスのレポート(タックシール)印刷について教えてください

     VBを使ってAccessデータベースのデータをタックシールに印刷するプログラムを作成しています。下記のようにして印刷部分を作成しました。  データの印刷はきちんとできるのですが,1列にしか印刷できません。(一列はきちんと印刷できます。タックシールの右半分の部分に印刷できない。)  タックシールの都合で2列に印刷したいのですがその方法が分かりません。(2×5のタックシール) Set cn = New ADODB.Connection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\jyusyo.mdb;Jet OLEDB" cn.Open でデータベースに接続しています。 DataReport1を作成しておき,下のように記述しました。 Set rsjyusyo = New ADODB.Recordset rsjyusyo.Open "住所", cn, adOpenKeyset, adLockPessimistic rsjyusyo.Filter = adFilterNone Set DataReport1.DataSource = rsjyusyo DataReport1.Show

  • バーコードからデーターを読み取り保存したいのですが。

    宛名住所のタックシートが、およそ10万件分あります。 タックシールには、 郵便番号 住所 会社名 名前 が記載したありまして、全てエクセルデータに打ち込みをしなければなりません。 タックシートのラベルには、 住所の(おそらく)カスタマーバーコードが印字してあります。郵便割引がされるバーコードです。 おそらく、郵便番号および住所部分のバーコードだと思うのですが、せめてそれだけでも バーコードリーダーで読み込めればとおもっています。 バーコードリーダー等、ほとんど知識がないので、 何かよい方法や、お勧めの機械がありましたら ご教授していただけるととても助かります。 宜しくお願いします。

  • 誰でも簡単にバーコードをシール用紙に印刷させたい

    各支社にバーコード(JAN)を簡単に印刷させて、 製品に貼って発送させたいのですが、以下の方法は可能でしょうか? ※基本的に支社の人間はパソコンが苦手の為に簡単でないといけません。 (1)本社でマイクロソフトのアクセスで13桁の数字をバーコード化 (2)イラストレーターを使い(1)で作成したバーコードデータを  シート仕様に合わせてレイアウトを編集。(すべて同じバーコード) (3)編集した(3)のデータを支社で簡単に印刷できる様にPDFにて保存。  (各支社にはイラストレーターがありません) (4)各製品ごとにこれらの作業を行い「1製品あたり1PDFデータ」を  CDに焼き、支店に発送し各自規定のシール用紙を用意させて出力させる。 いかがでしょうか? 問題点や改善方法、「そんな事しなくてもこんな方法があるよ」が あればアドバイスお願いします。 現状ではアクセスすらもない状況での構想です。