2003年からAccess+PostgreSQLで運用している。プログラムを書き始めたのは2000年頃からだ。
最初はどういった言語を選べばよいのかわからなかった。手持ちのツールはVB4とOffice97。
VBにするかAccessにするか、どちらが継続性があるかさんざん悩んだ挙句、結局レポート作成が楽なAccessにした。
実際、Accessの方がいろんな場面で随分、楽だ。
最近はこんな風に思う。VBは開発環境だが、Accessは業務用アプリケーションでプログラムを書くとは言えないのかもしれない。Accessで販売管理と給与計算を行っているが、販売管理になると受発注、入出金、資金管理、売上分析、営業査定資料、でんさい管理など、全てAccessでプログラムを書いた。これをVBで書くとなると、気が遠くなってしまう。
コードの継続性ということでは、VBは.netに変わってしまったが、AccessのVBAはそれほど変わっていない。32bit版から64bit版に変わってもほとんど修正するところはない。業務用アプリケーションということなのだろう。Office97のWord文書が最新のMicrosoft365で開けるのと同じだ。
そんなAccessで業務用のプログラムを書いて販売する会社もある。中小企業向けに限る。よくあるのはAccessそのものをデータベースとして使って、ファイル共有で2台以上10台までのクライアントをサポートすると説明があり、場合によってはファイルが壊れてしまう可能性を指摘し、それを回避するには、多少高価になるがSQL Serverの導入を謳ってある。
また、AccessからSQL Serverへの移行は手間がかかる、という説明もある。
本当だろうか? 最初からPostgreSQL+ODBCで作成、運用しているのだが、Access内のテーブルをPostgreSQLのリンクテーブルへ変更するのは簡単だ。PostgreSQL、Accessの固有のデータ型を使ってさえいなければだが。その辺りの事情を考えて、AccessからSQL Serverの移行は手間がかかると言っているのだろうか。
Accessが脆弱ならどうして、いきなり高価なSQL Serverへの移行という話になるのか。いかにも商売ベースの話だ。SQL Serverは使ったことがないので偉そうに言えないが、少なくとも20年運用してPostgreSQLで十分じゃないかと思う。私がプログラムを書き始めた時、PostgreSQLのバージョンがまだ6.*.*で行ロックがサポートされてなく、「これで使えるんだろうか」と思っていた。しかし、2003年に運用を開始する時にはバージョンが上がって7.*.*になり行ロックがサポートされた。今、9.4.*を使っているが、特に「Microsoft純正のSQL Serverに移行しなければ、どうにもならん!」と、困ったことは一度もない。
別に、フリーのデータベースならPostgreSQLに限ったことでもなくMySQLでも良いのかもしれないが、高価なSQL Serverで話を進めようするのはどうもいただけない。
自分で作って自分で使うAccessしか知らないので、シロウトの域を出ないのだが、それでも30余年の会社生活で当初10年は外注した販売管理ソフトを使っていた。その時の業者の対応が不満で今の形になった。引退が間近くなり、自作したAccessアプリのメンテナンス業者を捜していて、SQL Serverの勧め方を見て「当時と大して変わってないな、、、」と思うのだ。
個別に業務用ソフトを受注して開発するなんて「よく、こんな手離れの悪い仕事ができるな~」と思うのだが、自分としてはお客さんの立場でしか考えられないので、こんな感想になってしまう。
最初はどういった言語を選べばよいのかわからなかった。手持ちのツールはVB4とOffice97。
VBにするかAccessにするか、どちらが継続性があるかさんざん悩んだ挙句、結局レポート作成が楽なAccessにした。
実際、Accessの方がいろんな場面で随分、楽だ。
最近はこんな風に思う。VBは開発環境だが、Accessは業務用アプリケーションでプログラムを書くとは言えないのかもしれない。Accessで販売管理と給与計算を行っているが、販売管理になると受発注、入出金、資金管理、売上分析、営業査定資料、でんさい管理など、全てAccessでプログラムを書いた。これをVBで書くとなると、気が遠くなってしまう。
コードの継続性ということでは、VBは.netに変わってしまったが、AccessのVBAはそれほど変わっていない。32bit版から64bit版に変わってもほとんど修正するところはない。業務用アプリケーションということなのだろう。Office97のWord文書が最新のMicrosoft365で開けるのと同じだ。
そんなAccessで業務用のプログラムを書いて販売する会社もある。中小企業向けに限る。よくあるのはAccessそのものをデータベースとして使って、ファイル共有で2台以上10台までのクライアントをサポートすると説明があり、場合によってはファイルが壊れてしまう可能性を指摘し、それを回避するには、多少高価になるがSQL Serverの導入を謳ってある。
また、AccessからSQL Serverへの移行は手間がかかる、という説明もある。
本当だろうか? 最初からPostgreSQL+ODBCで作成、運用しているのだが、Access内のテーブルをPostgreSQLのリンクテーブルへ変更するのは簡単だ。PostgreSQL、Accessの固有のデータ型を使ってさえいなければだが。その辺りの事情を考えて、AccessからSQL Serverの移行は手間がかかると言っているのだろうか。
Accessが脆弱ならどうして、いきなり高価なSQL Serverへの移行という話になるのか。いかにも商売ベースの話だ。SQL Serverは使ったことがないので偉そうに言えないが、少なくとも20年運用してPostgreSQLで十分じゃないかと思う。私がプログラムを書き始めた時、PostgreSQLのバージョンがまだ6.*.*で行ロックがサポートされてなく、「これで使えるんだろうか」と思っていた。しかし、2003年に運用を開始する時にはバージョンが上がって7.*.*になり行ロックがサポートされた。今、9.4.*を使っているが、特に「Microsoft純正のSQL Serverに移行しなければ、どうにもならん!」と、困ったことは一度もない。
別に、フリーのデータベースならPostgreSQLに限ったことでもなくMySQLでも良いのかもしれないが、高価なSQL Serverで話を進めようするのはどうもいただけない。
自分で作って自分で使うAccessしか知らないので、シロウトの域を出ないのだが、それでも30余年の会社生活で当初10年は外注した販売管理ソフトを使っていた。その時の業者の対応が不満で今の形になった。引退が間近くなり、自作したAccessアプリのメンテナンス業者を捜していて、SQL Serverの勧め方を見て「当時と大して変わってないな、、、」と思うのだ。
個別に業務用ソフトを受注して開発するなんて「よく、こんな手離れの悪い仕事ができるな~」と思うのだが、自分としてはお客さんの立場でしか考えられないので、こんな感想になってしまう。