HOME > 即効テクニック > Access一般機能 > クエリ・SQL > 数字の桁を用紙の桁位置にあわせて印刷する

即効テクニック

クエリ・SQL

数字の桁を用紙の桁位置にあわせて印刷する

(Access 97/2000/2002)
あらかじめ用紙に数字の印刷する位置が桁ごとに枠が作られている場合、それぞれの桁ごとの枠に合わせて数字を印刷する必要があります。

●手順●
(1)印刷したい用紙の数字の桁ごとの枠の位置と大きさを正確に測ります。
  1. 数字枠の左上の角の位置が用紙の上端からと左端からそれぞれ何ミリの位置にあるか。
  2. 数字枠の大きさ(縦と横のサイズ)をミリで測ります。
(2)空欄の情報をレポートに反映します。
  1. テキストボックスを新規に作成して、ラベルは、削除します。
  2. テキストボックスのプロパティを開いて「書式」のタブを選択します。
  3. 項目[左位置] 用紙の左端から測った数字の左余白部分を引いた値。
  4. 項目[上位置] 用紙の上端から測った数字の上余白部分を引いた値。
  5. 項目[幅] 用紙の空欄の幅です。単位はcm
  6. 項目[高さ] 用紙の空欄の高さです。単位はcm をそれぞれ入力します。
  7. 空欄大きさ、または、用紙の周りの文字の大きさに合うように「フォント名」、「フォントサイズ」を調整します。
  8. 境界線スタイルは、「透明」を選択すれば、テキストボックスの枠線は、印刷されません。
  9. この作業を桁数だけ繰り返します。
(3)データーを表示させるための数式を各テキストボックスに反映します。 各桁の数字を印刷するテキストボックスは横一列に並んでいると思いますので、右から一の位、 その左が十の位、その左が百の位...というようになると思います。 一番右の一の位のテキストボックスの"プロパティ"-"データ"-"コントロールソース"に 以下の式を入力します。 =IIf(Len(CStr([suuji]))<1,"",Mid(CStr([suuji]),Len([suuji]),1)) (注意 [suuji]のsuujiは、項目名です。) 右から2番目の十の位のテキストボックスには、 =IIf(Len(CStr([suuji]))-1<1,"",Mid(CStr([suuji]),Len([suuji])-1,1)) 右から3番目の百の位のテキストボックスには、 =IIf(Len(CStr([suuji]))-2<1,"",Mid(CStr([suuji]),Len([suuji])-2,1)) 以下-2の部分を桁が1つ増えるごとに-1加算していきます。 Len(CStr([suuji]))-2<1は、その桁位置に数字があるかどうかを確認します。 無ければ、null値を返します。存在すれば、CStr([suuji])で、数字を文字列に変換します。 Len([suuji])-2,1は、変換された文字列から、指定の桁の文字(数字)を1つだけ取り出します。 ● ポイント ● レポートを印刷プレビューで確認します。 それぞれの桁の数字が正しく表示されていることを確認します。 そして、用紙の桁位置に正しく数字が印刷されるかを確認します。