いよいよ開発も大詰め![]()
出来たばかり、ちょっと不安定なハンディーターミナルアプリ!
誰か実践で使ってくれるボランティア営業マン(=IT人柱)はいないかな![]()
と探し始めた当日、ハンディーターミナルが1台壊れました![]()
これは電脳神のお告げかも?
まだテストで200行以上入力したことの無い出来たてホヤホヤのハンディーターミナルアプリを急遽実践投入することに!
この2か月、情報源は英語でやり取りされるApp Inventorフォーラムだけ。
分からないことは下手な英語で質問しながら作った僕のハンディーターミナルアプリが、いよいよ現場デビューです![]()
ちょっと感動し、すごく不安
ハンディーターミナルアプリをインストールした僕のスマホを営業マンに手渡した私。
僕のアプリ君、終日動いてくれるかな?
昼過ぎに、「動かないぞ」と電話が来たらどうしよう・・・
などと心配してたら、なんと数分後「このアプリ変ですよ」と言われ愕然![]()
クレーム来るの、早すぎないか!
質問は、「商品検索しても”日の出 料理酒400ml”が出てこない」
そんなハズは無い!
商品マスターはインポート出来てるはず?
でも、検索すると確かに「料理酒400ml」が出ない!?
あれ?
どうして?
と言うか総レコード数を比較すると商品マスタが1000レコード(=bulk importファイル2個分)足りない!
bulk importファイル生成MS-Accessプログラムにバグ!?
[SQLite Bulk Data Load–Hossein Amerkashi’s Blog]Bulk insert into SQLite database has a limit of 500 rows. If you intend to insert over 500 rows, you’ll have to break your insert statements.
仕様で1ファイル最大500レコードのbulk import。
これをLOOPで30回以上繰返す、ちょっと強引で不安定なインポート機能![]()
負荷が原因で2ファイル分エラーになったのかな?
ならば試し
「日の出 料理酒」が含まれるbulk importファイルだけをインポートさせてみると・・・
あれ、1ファイルだけなのにエラー![]()
すると原因は、2つのファイルだけSQL文が壊れてるの?
「日の出 料理酒」を含む500行のファイルを、100行単位で実行。
エラーが発生した部分を50行単位で実行。
エラーが発生した部分を10行単位で実行。
これを繰り返し、ようやくSQL文を壊してるのが351行目だと特定出来ました![]()
SQL文が壊れる原因、分かります?

犯人は、「明星 麺’S倶楽部R50」の’(アポストロフィー)記号でした!
bulk importファイル自動生成VBAプログラムを下記のように書直し再インポート。
商品マスターのレコード数と僕のアプリのレコード数が一致しました![]()
修正前:StrConv(rs![商品名],vbNarrow)
↓
修正後:Replace(“‘”,”’”,StrConv(rs![商品名],vbNarrow))
これで、実戦投入後見つかった1つ目の不具合は無事解決![]()
まぁ、とにかくApp InventorもSQLiteもし、まだまだ勉強不足!
人間、死ぬまで勉強、勉強、勉強、勉強ですね!
ちなみに、ハンディーターミナルアプリのデビューは何の問題もなくあっけなく終わりました。
心配してた200行以上の受注も問題無し![]()
売上伝票も無事に出て、驚くほどスムースなデビューでした 。
唯一クレームが出たのが、
カメラを使ったバーコードスキャン。
光を反射する素材と湾曲した商品のバーコードはスキャン出来ない。
その上でバッテリーがガンガン減ってしまう!
1日使うと、バッテリー残量が15%以下まで低下しました。
やっぱハンディーターミナルにはレーザースキャナーが必要みたい・・・・
まぁ、セットで買ってもFileMakerGO+iPhone6 plusよりずっと安い!
さて、本格導入に向け、いよいよZenfone(ゼンフォン)5を試しに1台買ってこよう![]()
それとも5.5インチのGALAXYノートの中古にしようかな?