2021年08月25日

Access2019

 桐は良いソフトである、、が、若い人には受けが悪い。何故かというと
 1.インターネットで検索しても参考資料がない。
 2.市販の参考書がない。
 3.いままでのVBAのノウハウが使えない。
 ということらしい。

 使い込めば、手放せない便利なソフトだと思うのだが、、。それに excellのVBAからaccessに来ると、マクロとモジュールの概念がち がうなど、余計こんがらかるかも。
 ということで、今ある桐の資産をAccessに移行してみることに。引き継ぐ相手は孫ほどの若い女の子。Mosは持っているけど、コーディングは初心者。まあ、ここまで歳が違うと、何をやっても、言われても許せてしまうのが不思議だ。もう新人類とかという範疇ではない。(笑)

 ということで、Access2019をインストールすることになった。、うん十年ぶりのAccessだ。
まずインストールでつまずいた。ボリュームライセンスだけど、インストーラが無い。いわゆる msiやsetup.exeが無い。
どうやってやるかというと、最初に xmlで環境設定して、それを引数にしてをダウンロード、続いて同じ xmlを利用してインストールを行う。最初のxmlを作りこむのが面倒だ。これ、一般の人にできるかあ??と思うがどうだろう。accessはエクセルに比べて敷居が高いが、余計億劫になりそうな気がする。歳のせいかな。

 早速 accessで簡単なDBを1本作ってみて気が付いたところ。

 1.excell2019もそうだが アドインがない。そのかわり参照設定が充実した。昔ライブラリーはdllで作っていたが、先祖  
   帰りしたか?? excellからのメールで CDOアドインを使っていたのでどうしたものかと思っていたが、参照のライブ 
   ラリーに同じものがあってaccessでも簡単に使えた。最初はアドイン開いたら白紙だったのでびっくり。
   それでも、、桐は送信メールの保管フォルダを指定すれば送信済メールをメール形式で保存してくれる。
   CDOだと自分で書かなければいけないから、その点では面倒。

 2.Accessのデータベースはテーブルやモジュールがセットになっている。一方桐はテーブルやマクロが単独で、それぞれしがらみがない。マクロ単独でもpowershellのような使い方ができる。Acccessはフォームやレポートを使った、なんらかのアプリケーションを作ることが基本形らしい。今回の桐はデータ処理バッチみたいなものが多いので、桐の方が使いやすいか。

 3.accessのモジュールで filecopyが使えずびっくり。まだ勉強が足りないのかもしれないが、fsoを使うのが基本らしい。
   分かってしまえば問題ないのだけど、いきなりそんなもの知らないと言わると え?! と思う。

 4.そうそう、filecopyといえば、Accessと桐ではちょっと作法が違う。
    VBAは  fso.copyfile  なにを、どこへ  という構文だが 桐は ファイル複写 なにを、どこへ、どうなった。
   作業の結果の戻り値が最後にある。結構これは便利。ファイルのコピーが成功したかどうかで戻り値が変わる。ごく稀だけど、単純なファイルのコピーでコケるときがあるので、エラーログやリトライが書きやすい。vbaではエラーになるらしい。

 5.桐にはインスタンスを作る必要が無いんだと改めて感じた。そもそも桐にはクラスという概念が無い。だからインスタンスは作らない。作らないからメモリーの開放もない。そういえば Delphiでもクラスがあって普通に使っている。そう考えれば不思議は無いんだけど、桐にはない。 宣言や解放のコーディングの行が無いのは初心者には良いことだ。

   桐の方がいいなあ、、と思いながらぐずぐず引継ぎが始まりました。
posted by pdb at 23:23| Comment(0) | TrackBack(0) | はじめに

2017年11月06日

桐の利用例

 さて、桐の紹介もこれくらいで、実際の桐の使用例をご紹介します。

いままでの桐の使用方法を分類すると、だいたい

 1.手作業

 2.バッチ利用

 3.アップリケーション利用

の3つに区分されます。

1.手作業
  作業者が主に表を利用してデータを処理するものです。特にデータ数が3000レコードを越える場合や、2つのデータをマージして利用する場合には表計算ではなく桐を使っています。

2.バッチ利用

 桐の一括処理をコマンドラインのバッチのように利用する方法です。上の1と全く逆で人間は一切

処理を行わないので、ちょっとRPA (Robot Process Automation)のような雰囲気があります。

 実は一番のお勧めはこの桐バッチです。起動から終了まで、人手がかからず、処理も安定しており、時間や曜日により処理も切り替える事ができ、非常に便利です。

3.アプリケーション利用

 フォームを操作画面にして、普通のソフトのように動きます。上の2がシーケンシャルとすると、こちらはイベントドリブンで作業を進めていきます。この用途の対抗馬は私の場合は Delphi。プログラムの仕様により桐を使うか、Delphiを使うか検討。そういえば、桐もver.10ですが、delphiも10。コード名もBerlinからTokyoになり、何だか身近な雰囲気になりました。


 次回からは、バッチ利用、アプリケーション利用の例をご紹介します。

posted by pdb at 23:56| Comment(0) | はじめに

2017年04月19日

3. 桐はどんな業務向き?

 今は、ソフトウェアも色々な選択肢があります。ネットワークのスペックがあがって、クラウドで動く物も増えてきました。提供する側としても、バージョンアップや修正、いろいろなプラットフォーム環境の整備などを考えると楽な環境かもしれません。

 さて、桐ですが、コンピューターの環境が多様化する中で、どういう使い方をするのが一番合っているのか、良い点を引き出せるのかを考えてみます。

 まず上げられるのが、個人で使用するデータ処理です。特にユーザーにデータを提供する業務に携わる方にはお勧めです。特に同じような用途での表計算ソフトと比較しての長所を挙げてみます。

 1.安定性

   Windows3.1から32ビットに以降するころ、マルチプランやlotus123 (懐かしい)などの表計算とは別に、大きなデータを扱うデータベースを探し、いろいろ検討しました。Ms-accessやdbaseとともに対象になったのが桐 確か ver.4か5か。その中で一番安定していたのが桐でした。使っていて、桐が原因となってハングアップ(フリーズ)することはまずありませんでした。この堅牢さは、今の桐10にも引き継がれております。ファイルサイズが32GB、10億レコードに拡張されても安定しているのはありがたいことです。

といっても、まあ使うのは20〜30万レコード位までですが。いまでも、表計算には、ときどき 突然「ご迷惑を、、」といいながら、業務を拒否されることがありますが、その点桐は安心です。

 2.エクセルとの親和性

 桐はエクセルやCSVを直接読み書きできます。エクセルのブックを指定すると、どのシートを読み込むか聞いてきます。ユーザーにはエクセルで渡しますので、処理の結果をエクセルで出力します。途中は全部桐。

 3.余計な読替をしない

 エクセルでCSVやテキストを読み込むと、思わぬ自動変換をしてくれることがあります。特に日時やeと数字を指数として扱ったり。桐はフィールドの型が文字、長整数、数値、日時などはっきり指定されているので意図しない型に変換されることはありません。

 4.関数が豊富

 エクセルほどではないですが、実用的な関数はほぼそろっています。

 5.マクロの文法はほとんどBASIC

 FILEMAKERがはやったころ、移行を検討しましたが、FMのマクロで挫折しました。プログラマーの方ならお分かりかと思いますが、CでもPASCALでもJAVAでもBASICでもPERLでもPHPでもほぼ文法は同じです。単語が違うとか、文末にセミコロンがつくとか、ライブラリーの扱いとか、多少差はありますが、1つの言語をマスターすれば、他の言語はだいたい検討がつくと思います。桐のマクロ、一括処理をいいますが、この言語もその仲間で、VBAの分かる方ならすぐ使えると思います。変わったところといえば、プログラム言語としては珍しい日本語です。たとえば 繰り返し(x<5) 。。繰り返し終了  とか。最初は面くらいますが、慣れると、これはこれで読みやすいと思いますが。

 6.印刷帳票の自由度が高い

 印刷フォーム(レポート)の細かい設定が可能です。専用のブランク帳票に打ち込むなどいうのも得意な作業です。宅配伝票や自由サイズの専用請求書のフォームに打ち出すこともできます。

 以前、産地直送の発送システムを作りましたが、伝票が変更になった時の調整も楽です。


 ということで、まず桐を使いはじめるなら、エクセル代わりに表の操作を覚えるのが良いと思います。絞り込み、並べ替え、集計、転地集計、置換、、何回か使えば手放せない便利なツールになると思います。

 さて、その次というか、もしかしたら桐に一番合っている使い方というのは、バッチ処理です。WINDODWSのTASKで桐を立ち上げて、一括処理で自動処理を行うというものです。次はこのバッチの使用例をご紹介します。使い方、、というか、自動バッチなので、誰も使っていないのですが、、。



posted by pdb at 00:22| Comment(2) | はじめに