キーボード修理

イメージ
前回 調子が悪くなったと書きましたが、部品が手配できて時間が取れたので直しました。 茶軸のスイッチを購入 Cherryの茶軸は 10個で1,399- ということで購入。 本当は1個で充分なんだけど、仕方なく残りは予備部品として保管。 作業手順 キーボードの裏側ネジを3箇所外します。 左右と中央の丸シールの下。 左右はパッドを貼っているので、少しめくって外します。 (あとで綺麗に戻るので心配なしです) ケーブルが出ている方は、スッと外れ、手前(下側)は、内部に爪が有るので、ピックやカード、マイナスドライバなどで少し隙間を開けるようにして広げれば外れます。 自分は親指の爪で空きました。 今回は「E」が調子悪いので、該当のピン2箇所をハンダ吸いで綺麗に取り除いて、裏側から引き抜いて完了。 基板にしっかりとどのキーかがプリントされているので分かりやすいですねぇ 入手した新品の茶軸を差し込んでハンダ付けします。 この時点で動作確認が可能になるので、直したキーとその周辺が正しく入力できるのをチェック。 問題なく、無事に動作しました。 最後にカバーを取り付けて完了! 残ったのは9個の茶軸…。 今回の費用 Cherryの茶軸10個セット :1,399- キーキャップ引き抜き工具 : 475-  ちなみに10個セットには、簡易引き抜きがついてきますが、ちゃんとしたもののほうが楽に作業できます。(昔買ったのに、どこかに行ってしまったので再購入)  ということで、1900円ほどで完治しました。  手間賃考えると買ったほうが安いかも(笑)

LibreOffice の Base で エラー

LibreOffice(Base)+LibreOffice BASIC

少々面倒な案件かも

いつもはMySQL+PHPとか多いんだけど、今回はネットワークに繋がらないマシンでも利用したい。しかも古めのPC。
でもって、同じ仕組みを合計で3台(3箇所)で使いたいが、データはすべて異なる。

複数のユーザが利用することはない。

う〜む、システム組むほどじゃないと思うんだけどなぁ。
XP上ではMS-Access97ベースで作成されたものを使用していたけれど、OSが変わると使えなくなるので、Helpとなったわけです。

しかも、現在はLibreOfficeがメインのOffice環境になっているため、新しいAccessとか新規に導入しできない。
前回テストしたら、この仕組みはAccess2013では全く動かない。

となると、Accessを導入しても、プログラムし直しか・・・。

そこで、LibreOfficeのBaseというDatabaseを利用して、構築することに。
一応ヒアリングして、不要と思われる機能はざっくり削除。
最低限の目的を達成できるレベルにスリム化する。

はじめはLAMPで構成しようと、作り始めんた(まぁ40%程度の作業完了だった)んだけど、帳票がはっきり決まっていないのと、ネットワークに繋ぎたくないという要望もあり、再度LibreOfficeで書き直すことにした。
 100%作り込まずに、もともとのUIも使うという前提にすれば、自分たちで修正や編集ができるから、より便利なのでは?との思いもある。

テーブル定義して、Queryとフォームの作成。
これを、BASICで繋いでいく感じかな。

ところが、このLibreOffice BASICが慣れていないこともあり、よく分からない。
オブジェクト名とメソッド名を探すのに一苦労。

それでも、なんとか動作させて、最低限マスタ関連のデータの登録・修正が可能になってきた。

まぁこんな感じの画面ですわ…。
1:n 結合のデータもサブフォームを使えば、それほど面倒でもなくていい感じ。
リストボックスにデータを引っ張るのに、SQLを直接書けるのがありがたい。

突如エラーが発生

ところが何度もテストしていると・・・。
SQL ステータス: S1000
エラーコード: -29
なんてダイアログが出てくるようになった。
しかも、データは挿入されたりされなかったり。

詳細を確認すると
File input/output error: /Users/username/project/xyz/system.odb.log in statement [INSERT INTO "個人口座マスタ" ( "bank_id","kojin_id","kouza_kubun","kouza_number") VALUES ( ?,?,?,?)]
あれ? なんでinsertできない?
でも実際にはデータが入っている。
なんだかおかしい。

ググってみると、似たようなエラーの質問がけっこうある。
ここ読めよって事なので、ちゃんと目を通してみる。
https://forum.openoffice.org/en/forum/viewtopic.php?f=83&t=17567


すると、base内部のDBエンジン(HSQLDB)の問題の可能性がある。
(このまま使っていても大丈夫かなぁ?と思いつつも・・・)

まずは保存しろというので、指示に従い、LibreOfficeを終了する。
再起動して、ファイルを開き、フォームからテストしてみる。
エラーは発生しない。

どうやら、修正やらデータ変更やらしながら作業をするうちに、メモリを食いつぶしてしまい、最後にエラーを吐くようだ。

とりあえずは、正常に動作するようになった。
もし、HSQLDBが度々動作しなくなるなら、MySQLにDBを切り替えれば済む話なので、それほど困るわけではないが・・・。

面倒だなというのが本音。

もうしばらく、開発を続けて、様子を見ることにしますわ。

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Ubuntu24.04 でGUIが死んだ