Access 2019 の VBA

私はもう子供は大きくなってしまったので実感がないですが、10月から消費税値上げと引き換えに保育の無償化(と言ってもタダにはならない)が始まるそうです、私がお世話になっていた園でも延長保育に関わるお金を集金するのに自治体の定める基準にのっとって事務を今年から変えねばならず大変とのこと.ついにお鉢がまわって集金事務のシステムの仕様変更が園長先生から私のところまで連絡が来てしまいました.
園ではもう20年前に私が作ったMicrosoft Accessの集金システムをずっと使い続けているのですが、市の徴収基準の区分にのっとって一部を修正しなければならず、7月は手修正でしのいでいたのですが、9月の請求はプログラムを改修して対応したい意向です.で、早速毎度のこと園のPCからAccessのデータベースをコピーして持ち帰り、家で仕様変更のためのコードの見直しに着手しました.やはりこのような時に大変なのが「自分が20年前の瞬間に何を考えてこのようなコードを書いていたか?」を理解するのに時間がかかることです.もう20年もメンテにメンテを重ねてきたシステムなら止むをえないことです.ともかく自分の書いたコードでも思い出す境地にいたるまで必ず一定の時間が必要です.

コードは次のようなVBAVisual Basic For Application)です.最初はAceess 2003の.mdbでした.VBAは今どきはAccessのコードかExcelのマクロを作る人くらいしか使っていないんじゃないかと思います.世の中いろんな言語が山ほど出てきていますから、これからはもうVBなんてやる人はそういないかもしれません.でも私はAccessMicrosoftが最初に日本語版を市場に投入したバージョン1.1の頃から使っているのでとても懐かしいものです.

f:id:toshi_xt500:20190909003716p:plain

Access 2019のVBAのコード

ご覧いただくとわかりますが、Visual Studioなんかだとインテリセンスによるコード補完をバンバンやってくれるので楽ですが、VBAIDEはそこまでは行ってくれません.Access 2019でも、せいぜいユーザ定義型のメンバーを表示してくれることくらい.昔からですが1行の文法が誤っているとすぐにエラーのダイアログが出て怒られますし、毎回毎回「デバッグ」-「コンパイル」で変数参照のエラーを取らねばなりません.今時にしてみれば遅れていますが、もうMicrosoftVBAに投資することはしてくれないように感じました.

しかし、大切なことはこんな私の作ったポンコツのシステムでも、現実に数十人規模の保育園の徴収事務をまかなえているということです.年に6回、数十万弱の金額が動きます.園長先生言うには、もしこのシステムがなければ、いわゆる事務処理パッケージを買ってカスタマイズにお金をかけねばならず、それはもう大変なこと間違いないということです.私に頼めば(ボランティアなので)ほぼ無料です.ほぼと書いたのはだいたい毎回Accessの最新版に上げねばならず、その分はお金がかかることくらいでしょう.

さて金曜日の夜からコードを見始めて、2日ほどでおよそ新しい方式で請求ができるところまでたどり着きました.もちろんそう甘いものではなく一晩はほぼ徹夜です.また明日からはDITAとXSLTの普段の仕事に戻らねばなりません.ともかく毎日忙しいです.