Office ZERO

Excelのマクロ処理から、本格的なシステム開発まで、事務系のソフトのことなら何でもお任せ下さい。

06-6484-7610

月別アーカイブ: 2016年11月

Accessについて(その4)

2016/11/24日 12:54

AcccessでのSQL SERVERやolacleなどのデータの取り扱いの続きです。

 

基本、Accessにはテーブルリンクという機能があり、Access Jetだけではなく、SQL SERVERやlacle,MySQL

 

といったデータもプログラムの箱(dbやaccdb)リンクさせて、Access Jetと同じように取扱いができます。

 

しかし、この方法では、データ件数が多いと、Access Jetより処理時間が掛かる場合があります。

 

現実に、あるお客様で他システムとの連動のため、olacleをこの方法で使用していたのですが、データの登

 

録内容を全て空にするという処理を行った場合、時間が掛かり過ぎるとのクレームがついたことがあります。

 

通常、選択して削除するのであれば、プログラム作成方法によっては、時間が掛かることもありますが、

 

全てのデータを削除して空っぽにするという行為は、一瞬にして終わります。

 

不思議に思って計測したところ、4万件のデータを空にするのに5分、十万件だと10分、20万件だと30分弱

 

掛かってしまいました。(この計測値は過去のものなので、ハードの性能の向上した現在は、もう少し早いか

 

もしれません。)

 

同じデータ量でも、Access Jetだと、件数に係らず、瞬時にして終わります。

 

どうやら、外部データをリンクすると、mdb或いはaccdbの機能として、1件ずつ処理しているみたいです。

 

従って、大量のデータを取り扱うのにSQL SERVERやolacleを導入し、Accessにリンクを貼って使用するのは

 

、あまりお勧めできません。

 

それらのデータベースを、VBなどと同様の速度で処理するための方法は次回で延べます。

 

今回も、ここまで読んで下さった方々にお礼申し上げます。

 

ますます寒くなってきましたので、お身体にはお気をつけください。

 

ありがとうございました。

 

 

 

 

Accessについて(その3)

2016/11/17日 12:59

ご無沙汰しました。

 

今回は、Accessでのデータの取り扱いについて説明します。

 

基本、AccessはAccess Jetという独自のデータベースエンジンを持っており、データ量が少なければ、それでも十分に使用に耐えます。

 

少ないといっても、数万件くらいは普通に大丈夫です。

 

10万件以上でも使えなくはないですが、なにかにつけ、レスポンス(処理速度)が落ちます。

 

作り方にもよりますが、1万件と20万件のデータ量で入力を行った場合、データを追加するのに、前者は瞬時に終わり、後者は10~20秒かかったりします。

 

SQL SERVERやOlacleといったデータベースをしない限り、これはどうしようもありません。

 

では、SQL SERVERやOlacleを使用すると早くなるかというと、それこそ作り方の問題になってきます。

 

次回はその辺のところもう少し詳しくお話しします。

 

寒くなってきましたが、風邪などひかぬよう、お身体にお気を付けください。

 

ありがとうございます。

スーパームーン

2016/11/14日 12:28

今日は、68年ぶりのエクストラスーパームーン。

 

楽しみにしていたのですが、生憎、大阪は雨。

 

次に見れるのは、2034年らしいですが、その日まで楽しみができたと思えばいっかな。

 

何事も、前向きに捉えなくっちゃね。

 

 

Accessについて(その2)

2016/11/04日 12:39

前回に続いて、Accessのお話しです。

 

なぜ、AccessでもVBと同等の(とまではいいませんが、近い)ことができるのか?

 

前回、データという概念を理解できれば、クエリーとマクロという機能を使って、簡単に入出力が作成できると述べましたが、そのやり方では、あくまでも簡易言語としての役割しか果たせず、痒いところには手が届きません。

 

AccessをVBライクに仕上げるには、クエリーやマクロを使わず、VBAというプログラミング言語を使用することです。

 

これにより、入力画面や出力帳票の細かい制御ができ、ExccelやOutLookといったツールとの連動も思いのままできます。

 

また、SQL SERVERやOlacle,My SQLなどのデータも取り扱えます。

 

いわば、VBで作成しているのとほぼ変わりません。

 

違いは、複数のクライアントで使用する場合、VBは実行形式のプログラムをサーバーに置いておいて、そこからショートカットを貼り使用しますが、Accessの場合は、使用するクライアントにAccessをインストールし、それぞれのクライアントにプログラムを置くという点です。

 

Accessでも、実行形式の形に作れるツールがあり、VBと同じような使い方もできますが、結構不具合があり、今ひとつ信用できません。

 

それと、ごく稀に、Access自体が壊れることもあります。

 

この辺が、Accessの弱点でしょうか。

 

とはいえ、開発コストは格段に違いますので、数台で使用するのなら、下記の点さえしっかりしておけば、Accessでも問題なにのではないでしょうか!

 

・データのバックアップを毎日取る(これは、VBやjavaでも同じですね)

・プログラムのバックアップを取っておき、壊れた時には、そのバックアップから置き換える。

 

もうひとつ、データの取り扱いで違う点がありますが、それは次回で延べます。

 

今日もブログを読んで下さり、ありがとうございます。