Accessレポートで特定商品にアンダーラインを引く
- (2011-10-19 04:37:40)
システムで支援するという態度が欠落していないか?
商品リストを打ち出して、発送担当者はそれをピンキングするという作業は通販業務のルーティン。
商品番号で単純にソートされた商品リストを毎日打ち出している。先日、商品を取り違えるトラブルが発生した。
ピンキング担当者の注意力不足が原因である。しかし、そんなことを言っている間は、このミスは繰り返される。ミーティングで話し合うと「それは誰でも間違える可能性がある」事情が見えてきた。
高い集中力を要求される運用自体、リスクである。
逆に今までシステム支援がないことを反省した。また、そういうリスクを指摘してくれなかったピンキング担当者にも問題意識を持つよう依頼した。
商品リストの商品カテゴリーごとに罫線や仕切り線を入れればリスクが軽減されることが予想される。調べたがやり方がわからない。
しかし、アンダーラインを引くというやり方なら簡単にできることがかわった。
「フォーマット時イベントプロシージャ」
Access->レポート->デザインビュー->詳細->(商品項目の下に実際のラインを描画)
(1)「ツールボックス」の「直線」で「詳細セクション」の商品名フィールドに直線(「直線○○」といった名前になる)を引く。
(2)「詳細セクション」の「フォーマット時イベントプロシージャ」(「詳細セクション」のプロパティの中にある)を作成。
(3)下記のコードを入れる。
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me![商品番号] > "D2*" Then
Me![直線○○].Visible = True
Else
Me![直線○○].Visible = False
End If
End Sub
[商品番号]には品番が含まれる。品番は「D2」より上の品番の商品は「直線○○」を「Visible」になる。
わずかこれだけで明日から今回のリスクは大幅に軽減される。感動的だ。
発想がいい
ラインはすべての商品に引いておいて、それを簡単なコードで条件判断をし見え隠れさせるという発想に感動した。
アメリカ人が考えたのだろうか。
自分なら「必要なものにラインを引く」という発想になるだろうが、リアルタイムに描画するというプログラムの方が難しいそう。
そもそも「フォーマット時イベントプロシージャ」というプロセスパーツが準備されていることも感動的だ。
SQL Serverに乗り換えられない
今まで、Accessのレポートにはほとんど関心がなかった。
しかし、発送作業などの実際のオペレーションを行う人にとって、書面が見やすいかどうか、間違いを起こさせない工夫が入っているかどうかは非常に重要。
発送担当者にはそれがすべて。データベースの中身がどうなっているかなどどうでもよいこと。
そのへんの配慮がAccessのレポートには組み込まれており、求めようとすれば隠された便利機能がいろいろ出てくる。
「求める」態度がない限り自分からは出てこないのもこのソフトの特徴だ。
Accessは奥が深い。
将来的にデータベースは、SQL Serverに乗り換えるつもりでいるが、こんな細部に至る配慮があるのかと考えると、やはり乗り換えられない。
SQL Serverは経験がなく実際どういうものか不明だが、印象としては、本物のデータベースに特化しており、表現力や便利機能の部分は、おそらく自分で開発するもの。
当分Accessからは離れられない。100万件くらいはAccessで処理できる。次の担当者が来るまでまだ多少余裕は残っている。