
1. iPad業務利用の障壁:「巨大すぎる標準キーボード」
「部品管理台帳」の開発と並行して、もう一つの重要ミッションである**「iPadによる現場運用の最適化」**を進めていました。 現場での入出荷検品や在庫計上において、タブレットの手軽さは武器になりますが、いざFileMaker Goで入力フィールドをタップすると、大きな問題に直面しました。
**「純正キーボードがデカすぎて、画面の半分が隠れてしまう問題」**です。
標準のソフトウェアキーボードがせり上がってくると、重要なデータ部分が隠れたり、レイアウトが予期せぬ位置にズレたりします。さらに、数字しか入力しない場面でも「変換候補」や「絵文字キー」などが表示され、IT機器に不慣れなスタッフにとっては「どれを押せばいいの?」という混乱の元になります。
2. 解決策:キーボードを「自作」して埋め込む
「使いにくいなら、作ってしまえばいい」。 そこで、入力時には純正キーボードを立ち上げず、画面上に予め配置した**「自作のテンキーボタン」**で操作を完結させるUI(ユーザーインターフェース)を考案しました。
これなら、画面レイアウトは崩れませんし、必要なボタン(0~9とClear、Enter)以外は排除できます。まさに現場のためのユニバーサルデザインです。
3. 立ちはだかる「桁上がり」のロジック
デザインは簡単です。レイアウト上に「0」から「9」までのボタンを並べるだけ。 しかし、いざ機能を割り当てようとして、プログラミング的な壁にぶつかりました。
電卓をイメージしてください。「1」を押して、「2」を押せば、「12」になります。 しかし、単純に「ボタンの数値をフィールドに入力する」という命令だけだと、「1」を押した後に「2」を押すと、「1」が消えて「2」に上書きされてしまうのです。
「どうすれば、前の数字を残したまま、次の桁を追加できるのか?」
4. 閃きのアルゴリズム:「×10 + n」
文字列として結合する方法もあるかもしれませんが、数値フィールドとして扱うための数学的な解決策を模索しました。 そして、一休さんの「とんち」のように、ある法則に気づいたのです。
「今ある数字を10倍して、新しい数字を足せばいいんだ!」
【実装したロジック】
- 初期値: 0
- 「1」を押す:
(0 × 10) + 1= 1 - 「2」を押す:
(1 × 10) + 2= 12 - 「3」を押す:
(12 × 10) + 3= 123
これです! この計算式をスクリプトに組み込むことで、電卓と同じような自然な入力が可能になりました。 さらに、「部品コードは7桁まで」といった入力制限(バリデーション)も追加し、誤入力を防ぐ仕組みも実装。これで、老眼のスタッフでも太い指でも、ストレスなく在庫入力ができる環境が整いました。
5. 車輪の再発明? それでも「自力解明」は楽しい
プロのプログラマーからすれば、「文字列結合(&演算子)」や既存の関数を使えばもっと簡単だったかもしれませんし、この計算方法は当たり前のアルゴリズムかもしれません。 しかし、専門書にも載っていなかった方法を、自分の頭でひねり出し、思い通りに動いた時の快感。これこそがシステム開発の醍醐味です。
「使いにくい」という現場の不満を、アイデアと技術(とんち?)で乗り越える。 この小さなテンキーの実装は、システムへの愛着をさらに深めるエピソードとなりました。
(続く)
【編集協力】 このプロジェクト記録の文章表現は、Gemini(Google AI)による構成案の作成および校正支援を受けています。