Sponsored Links
当サイトのキーワードの「アクセス解析」実施すると、「ACCESS、 2007、 Runtime」等のキーワードで検索されている方が、毎日、大勢いらっしゃいますが、「何がしたいのか?」キーワードからは、私の頭が悪いせいなのか、さっぱり読めません。
そんなに、敷居の高いアプリケーションではありませんので、是非下記の条件を満たしている方は、トライしてみて下さい。 応援いたします。
Accessを利用した、業務アプリケーション作成で便利な使い方や機能の活用方法について
元々、「ACCESS」は、素人向けの「データベースアプリケーション作成ソフト」です。
データ項目(テーブル)設計さえ、うまくできれば、半分できたも同然です。
業者に頼んで、作成すると、かなりの「予算」が必要です。
「金」の無い会社でも、こんな社員がいれば、作成できると思います。
金も無い、人材も無い、やる気も無い の3無いでは無理ですが。
・「頭」は、悪くてもかまいません。 私のような「頭」でも。。できますので。
・調査・分析できる人(書籍、Webを活用)。
・こつこつ、努力できる人 (1年くらい辛抱できる人)。
・自分の会社の実業務をちゃんと全部理解できている人。
・最終的には、サンプルコードを見て、理解して、VBのコードを組み込める人。
(プログラミングの経験は、あまり関係ないと思います)
本来、スタンドアロン(一人で使用する/1台のPC)用のデータベースソフトですが、3〜4人程度の人数で、そんなに同時にACCESSで作成したデータベースファイル(mdb)にアクセスしなければ、LAN(ローカルエリア)環境でファイル共有すれば、複数人で同一のデータベースを利用できます(本当は、サーバーを利用した方が良いが。。。。)。 もし将来、業務が拡大したら、SQLサーバーを使えば良い。
1.便利な業務管理アプリケーション 具体例
小さな会社の「業務」でしたら、よっぽど特殊な業務でない限り、「簡単?」に、下記のようなアプリケーションができてしまいます。
1)見積・請求管理システムだけで良い場合
それぞれ社員が、見積を作成して、売上が確定した時点で請求データにボタン1つでCOPYする。
見積データを共有して、参照してCOPYして、編集して再利用できるようにすると、大変な見積作成作業の効率がアップします。
2)売上(販売)・仕入れ管理システム
得意先が複数ある場合は売上管理システムで、顧客別に伝票を集計して、明細、請求書を発行する。
これも売上データを共有すると、複数人で各自伝票入力できます。
経営者でも、毎月の売上を一発で確認できます。
3)在庫管理システム
在庫管理業務ソフトは、実業務で在庫の管理をするための「ルール」さえ守れない、「いい加減な組織」では、システムが機能しませんので、従って必要ありませんが。。。
4)顧客管理システム
顧客基本情報と多数発生する購買情報、サービス実施の情報ファイル(データ)を分割して管理する。
お客様の履歴が蓄積して行きますので、活用範囲が広がります。 (プチ CRMの構築ですか?)
上記の業務を組み合わせて、システムを作成することも可能です。
顧客管理と請求業務なら、1)と4)または、2)と4)と云うように。
2.機能の活用事例
1)顧客管理データベースで、Accessの画面から、相手にメールを送信する方法。
難易度順
(1)オートメーション機能を使い、画面データをOutlook経由でメールを自動送信する。
VBの知識が必要です。
(2)オートメーション機能を使い、Outlook送信画面に直接、送信データを貼り付ける。
VBの知識が必要です。
(3)送信データ画面を作成して、クリップボードにCopyして、「Outlook」や「Outlook Express」の送信画面にデータを貼り付ける。
VBの知識がなくても、フォームを作成できれば、実現できます。
2)アクセスの画面から、印刷せずに出力帳票をFAX複合機で、相手にFAX送信する。
(1)必要機器
・ネットワーク対応のFAX機能付き複合機(オフィス向けのプリンター)
・該当製品のFAX送信用のドライバー
・宛先データ管理用のソフトとFAX宛先データの登録。
(2)送信方法
アクセスで印刷プレビューで帳票を開くようにする。
印刷のプロパティ画面でFAX送信用のプリンタードライバーを選択する。
FAX送信用の画面が表示されて、宛先を選択してFAX送信ができます。
上記の「複合機」と「ネットワーク(LAN)」が社内にあれば、予算0円で導入できます。
3)アクセスの画面から、出力帳票をPDFファイルとして出力する。
(1)必要ソフト
・PDF出力仮想プリンタードライバー
・プレビューで帳票を開いて、印刷時にこの仮想プリンターを指定して印刷するとPDFファイルが出力します。
「PrimoPDF」のようなソフトです。
関連ページを参照: フリーのPDF関連ソフトのまとめ
2)、3)の項目は、ドキュメントを印刷しませんので、プチ ペーパーレスの効果も期待できます。
4)EXCELで作成した帳票レイアウトを一発でACCESSのレポートに変換する。
Accessのレポート機能を使い、罫線たくさんの帳票レイアウトを作成するのは、本当に大変な作業です。
何と、「ACCESS レポート&印刷」云う書籍にアプリケーションサンプルが付録のCD-ROMにあり、これを利用すると、面倒な帳票レイアウトでも一発で変換してくれます(涙が出るほど、助かります)。
ブログ右サイドバーに貼り付けてあります。
<補足>
−参照設定画面−
オートメーション機能を利用する場合、VB Editerを開いて、
メニューバーのツールより参照設定画面を開く。 
EXCEL、Word、Outlookの機能を使用するときは、上記の画面から参照設定を実施します。
そうすると、呼び出したり、利用することができます。
<サイト内の関連記事>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
第8回 Access 2000とMSDEを利用してクライアント/サーバーシステムを構築する
<ACCESS 講座> (WEBサービス ニュース)
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成 (2008年7月)
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成 (2008年8月)
・第3回 マイクロソフト ACCESS(アクセス)でデータベースを作成 (2008年8月)
Sponsored Links
関連タグ : 業務アプリケーション作成,
最後は、やはり最終目標である「Accessを使って、C/Sシステムを構築する」為の方法を掲載します。
(C/S :クライアント/サーバー)
Accessは、「Access 2000」から大幅に機能アップしました。
その一つが、「MSDE」をバックエンドに配置したC/Sシステムの実現が可能になったことです。
MSDE(:Microsoft Data Engine)とは、マイクロソフト社のリレーショナルデータベースSQLServer7.0と互換性を持つデータベースエンジンです。
第1回から、記載してある通り、Accessで、「データmdb」をファイル共有して、複数台のパソコンからアクセスして使用するには、制約や限界があり、同時アクセスが多い環境では不向きです。
そこで、登場するのが「MSDE」です。
SQLServer互換ですので、将来、本格的なC/Sシステムを構築する場合にも有効な手段です。
そして、ファイル共有で使用している「Access」から「MSDE」に移行するよりも、容易に「MSDE」から「SQLServer」に移行できます。
<Microsoft社のデータベース構築における、段階的セールス方法?>
1)スタンドアロンのAccess(有償)を使用させる。
2)ファイル共有でAccessを使用させる(でも、制限や制約がたくさんあります)。
3)MSDEで、C/Sシステムを入門経験させる(制限はあるが、MSDEは無償で利用可能)。
4)SQLServer(有償)で、本格的なC/Sシステムを構築する事を奨める。
うまいやり方と云うか、必然と云うか、「びみょー」です。。。。。
1.MSDEの制限事項について
1)SMP(対称型マルチプロセッサ)がサポートされていない。
2)MSDEデータベースに格納できるデータ量は最大2Gまでです。
3)セキュリティの機能が無い(稼働しているOSに依存する)。
4)接続人数は、同時に5台までです。
5)レプリケーションの制限。
2.一から、MSDEを使用するには、下記の手順で実施します。
1)MSDEをインストールする。
2)データベースを作成する。
テーブル等の作成
3)ビュー/フォームを作成する
4)C/S環境を設定する。
しかし、Accessを使用しているユーザーは、「MSDE」で再利用できますが、Accessを変換して、移行する必要があります。そして、この変換作業が一番厄介な部分でもあります。
3.AccessからMSDEへの移行について
1)オブジェクトをDAOで記述している場合は、ADOへの変更が必要です。
DAOは 「Data Access Objects」、ADOは「ActiveX Data Objects」の略称です。
DAOは、スタンドアロン型データベースエンジン「Jet」向けに開発されたインターフェースオブジェクトで、ADOは、「OLE DB プロバイダ」を介して言語に依存しないインターフェイスオブジェクトとして開発されました。
Accessプロジェクトで、「MSDE」または「SQLServer」を利用する場合は、必ず「ADO」を利用する必要があります。
AccessデータベースでJetを利用する場合はDAO、ADOのどちらでも利用可能です。
「Jet」からMSDEやSQLServerへ移行する際の手間を考慮して、今後Accessアプリケーションを作成する際にはADOを利用することを推奨します。
ただし、「DAO」はAccessデータベースで「Jet」向けに開発されたオブジェクトですので、「Jet」を使ってアプリケーションを作成する場合は、「DAO」の方がパフォーマンス的には適しているようですので、ちょっと迷うところです。
2)AccessのmdbファイルをMSDE用に移行するには、下記の3通りの方法があります。
(1)Accessプロジェクトの「インポート」機能を利用する。
(2)MSDE付属ユーティリティの「データ変換サービス(DTS)」ウイザードを利用する。
(3)「アップサイジング ウィザード」を使用する。
Access2000で、「ツール」 - 「データベースユーティリティ」 -「[アップサイジングウィザード」 を選択します。
<注意事項>
「MSDE」が、Windows VistaとLonghorn ServerではサポートされないことがMicrosoftから発表されています。
2005年末にMSDEの後継製品として、「SQL Server 2005 Express Edition」がリリースされておりますので、VistaとLonghorn Serverで構築する場合は、このExpress Editionを使って下さい。
下記の記事を参照。
http://itpro.nikkeibp.co.jp/article/COLUMN/20061108/253115/
<マイクロソフト サポートオンライン>
・MSDE 2000 をアプリケーションのデータベース エンジンとして選択する際に役立つ情報
http://support.microsoft.com/default.aspx?scid=kb;ja;321518
・アップサイジング ウィザード使用アクセス 2000 の方法
http://support.microsoft.com/kb/325017/ja
---------------------------------------------------------------------------------
・MSDE FunClubの下記のサイトサイトを参考にして、MSDEの最新をダウンロードして下さい。
「MSDE 2000 SP4 新規インスタンス インストール プログラム」
http://www.horikawa.ne.jp/msde/support/msde2000-sp4-inst-tool/msde2000-sp4-inst-tool.html
・Microsoft SQL Server 2000 Service Pack 4 Desktop Engine (MSDE 2000)
http://download.microsoft.com/download/7/c/2/7c2fe9f3-d2f6-4a61-a15c-1965e33936e6/ReadmeSql2k32desksp4.htm#_3467465_installing_a_new_instance_of_msd_cuy1
・MSDE (Microsoft Data Engin) のインストール、起動、設定方法
http://www.microsoft.com/japan/technet/archive/columns/suo/msde1.mspx?mfr=true
<関連記事情報>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.htm
「WEBサービス ニュース」サイトで、ACCESSを使用したデータベースアプリを作成する講座を始めましたので参考にしてください。
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
Sponsored Links
「Jetの動作環境を整える」だけで、大事なデータ「mdb」が壊れにくくなりますので是非参考にして下さい。
Microsoft Jet は、Access がデフォルトで使用する「データベース エンジン」です。 Jet データベースの動作環境を最適に保つために役立つ推奨事項を「Access2000」を例に紹介します。
<使用環境>
シングルユーザー(スタンドアロン)の環境で実行されるデータベースとネットワーク経由でデータベースを使用している場合でも、「Jet データベース」に適用されます。
<推奨事項>
1.ソフトウエア(OS、Ofifice等の更新プログラム)環境
1)使用しているOSの最新の Service Pack がインストールされていることを確認する。
これにより、既知の問題に対する最新の更新プログラムが適用されて安定します。
2)最新のOfficeになっているかを確認する。
パフォーマンスや相互運用性を最適な状態に維持するため、Office 用の Service Pack および更新プログラムを定期的に提供されていますので、必ず更新します。
officeサイト:
http://office.microsoft.com/ の 「Office のダウンロード」 にアクセスすることにより、無償でダウンロードできます。
3)Microsoft Jet の最新の Service Pack がインストールされていることを確認する。
Jet の最新の Service Pack をインストールします。 ネットワーク環境でコンピュータを使用している場合は、すべてのクライアント コンピュータに Jet の最新の Service Pack をインストールする必要があります。
Microsoft Jet 4.0 データベース エンジン用の最新の Service Pack の入手方法 http://support.microsoft.com/kb/239114/
Jet 4.0 クライアントを使用する場合は、Jet 4.0 形式のデータベースを使用します。
同様に、Jet 3.5 クライアントを使用する場合には、Jet 3.0 形式のデータベースを使用します。その他のバージョンについても同様です。
2.作成時の注意事項
1)効率的なデータベース設計を使用する。
効率の良いデータベースを設計することにより、DBのパフォーマンスが向上し、ファイルが破損する可能性も低下します。
2)予約語や予約文字をオブジェクト名やフィールド名として使用しない 。
データベース作成時にオブジェクトやフィールドに名前を付ける際には、予約語や予約文字を使用しないようにします。場合によってはデータベースが破損することがあります。
3.メンテナンス作業
1)Microsoft Jet データベースを定期的に最適化する。
DBに頻繁に変更が加えられると、データベースの一部が断片化される場合があります。このため、 Access に含まれているデータベースの最適化ツールを定期的に実行することを推奨します。Access がない場合でも、JetComp ユーティリティを使用してデータベースを最適化できます。 http://support.microsoft.com/kb/273956/
<最適化ユーティリティの使用頻度>
データベースの最適化を実行する頻度は、変更するデータ量により異なります。データの変更が頻繁でない場合は、最適化も頻繁に実行する必要はありません。最適化の実行頻度に関する明確なルールはありませんが、定期的に最適化を実行することを推奨します。
<最適化ユーティリティの使用要因>
Microsoft Jet エンジンは、Microsoft Access データベース ファイルを 4096 バイトのブロックの連続として処理します。
Microsoft Jet テーブル内のレコード セットは、これらの一連のブロックに保存されます。各ブロックは次のブロックへのポインタを持っています。それぞれのブロックには、各レコード内のフィールド数やデータ量に応じて、1 つ以上のレコードが格納されます。テーブルに対するレコードの追加や削除が行われると、時間の経過に伴い、データベース ファイル内のテーブル ブロックがしだいに断片化されます。
<最適化による変化について>
・Microsoft Jet データベースを最適化すると、「"デフラグ」 が実行され、各テーブルが連続したブロックに再配置されます。これにより、テーブルに対する読み取り、書き込みのパフォーマンスが向上します。
・Microsoft Access データベースのインデックスも 4096 バイトのブロックに保存されるため、テーブル レコードと同様に断片化が発生することがあります。
2)Microsoft Jet データベース ファイルを定期的にバックアップする
失っても対応可能なデータ量を考慮して、バックアップ スケジュールを決定します。 データベース ファイルの完全バックアップを作成しておくことは、使用している Microsoft Jet データベース ファイルが破損した場合に確実に復旧するための最善の方法です。
3)バックアップ時の注意事項
ネットワーク環境で、ファイル共有でデータmdbを使用している場合は、Access データベース ファイルのバックアップを実行する前に、すべての Jet クライアント アプリケーションを終了する必要があります。クライアント アプリケーションを終了しない場合、バックアップ ファイルに不完全なデータが含まれることやデータの不一致が発生することがあります。
4.ネットワーク環境
1)ネットワーク環境におけるその他の推奨事項
Microsoft Jet はファイル共有型データベース システムです。ファイル共有型データベースでは、ファイルに関する処理がすべてクライアントで実行されます。 Microsoft Jet などのファイル共有型データベースがマルチユーザー環境で使用される場合、複数のクライアント プロセスが、ネットワーク経由で同一の共有ファイルに対して読み取り、書き込み、ロックを実行します。何らかの理由で処理を完了できなかった場合、そのファイルは不完全な状態、または破損した状態になることがあります。 Microsoft Jet では、Web、電子商取引、トランザクション処理に使用されるサーバーなど、高負荷で多数のプロセスが同時実行され、24 時間無停止で実行されるサーバー アプリケーションでの使用は想定されていません。
2)ネットワーク ファイル サーバーの OpLock (Opportunistic Locking) について
マイクロソフトは、ネットワーク ファイル サーバー上のファイルを 2 つ以上のクライアントで共有している場合、OpLock が原因で Jet データベースが破損する危険性が高くなることを確認されています。 この問題は、OpLock をサポートしているWindows NT 4.0、2000、Novell ファイル サーバーで発生します。また、Windows NT 4.0、2000、 XP を実行していて、OpLock をサポートしているファイル サーバーに接続するクライアントでも発生します。
Windows 2000
2000 を実行しているコンピュータでこの問題が発生する可能性を低減するには、Access データベース ファイルが存在する 2000 のファイル サーバーと、その 2000 のファイル サーバーに接続するすべての2000 のクライアント コンピュータに、Windows 2000 Service Pack 4 (SP4) をインストールする必要があります。
・最新の Windows 2000 Service Pack の入手方法
http://support.microsoft.com/kb/260910/
Windows XP
XP を実行しているコンピュータでこの問題を回避するには、Access データベースが存在するファイル サーバーに接続する各 XP クライアント コンピュータに、次の「サポート技術情報」 の資料に記載されているセキュリティ更新プログラムをインストールします。
・SMB 署名の問題により、グループ ポリシーが変更される。
http://support.microsoft.com/kb/329170/
Windows NT 4.0 を使用している場合、Windows 2000 SP4 や XP セキュリティ更新プログラムをインストールできない場合、または Windows 2000 SP4 や XP セキュリティ更新プログラムをインストールしてもなお頻繁に破損が発生する場合は、Opportunistic Locking を無効にして、問題を回避できます。
3)Microsoft Jet データベースを共有する場合の注意事項
Windows 95、98、Me のファイル共有に格納された Microsoft Jet データベース ファイルを、Windows 2000 または NT クライアントと共有することは可能な限り避けてください。
ネットワーク上に Windows 95、98、Me コンピュータの他に2000、NT コンピュータが混在していて、他のネットワーク ユーザーとデータベース ファイルを共有する必要がある場合は、Opportunistic Locking を無効にしたNT または 2000 サーバーにデータベース ファイルを保存して共有することを推奨します。
Windows 95、98、 Me のファイル共有に格納されたファイルを NT または2000 のクライアント コンピュータで共有すると破損が発生する可能性があります。これは、NT や 2000 のクライアントで Opportunistic Locking を無効にしても発生する可能性があります。
4)堅牢なファイル サーバーを使用する
ファイル サーバーが、Windows ドメイン コントローラ、Exchange Server、SQL Server としての機能など、他の多数のプロセスの処理で酷使されることのないマシンであること。
これを推奨する理由は、 ファイル サーバーを再起動する等の作業を実施する環境下だと、クライアントとデータベースの接続が突然中断され、データベースが破損することがあります。このようなクライアント接続の中断を防ぐには、ファイル サーバーを再起動する前、またはファイル サーバーにソフトウェア更新プログラムを適用する前に、すべてのクライアントでデータベースを閉じる必要があります。
・サーバーには無停電電源装置(UPS)を用意して、断続的な停電や電力変動から保護する必要があります。 またサーバーマシンには、パフォーマンスの高いHDD、高性能のNIC、大容量のメモリを搭載することで、サーバーにかかる負荷を無理なく処理できるようにする必要があります。
5)ネットワーク接続を確認する
ネットワーク ファイル サーバーへのネットワーク接続が高速で安定していることを確認します。WAN、モデム接続、FTP を経由して Microsoft Jet を使用することは避けるようにします。Microsoft Jet はファイル共有型データベース システムですので、信頼性の低いネットワーク転送方式を使用するとクライアントが接続できなくなる確率が高くなり、この結果データベースが破損する可能性が高くなります。
6)各クライアントからの接続数を最小限に抑える
可能な限り、1 つのクライアントから Microsoft Jet データベースに対する接続は 1 つだけになるように設計します。
7)Microsoft Jet データベースへのアクセスに ADO を使用する
ADO から Microsoft Jet データベースにアクセスする場合、Microsoft Access ODBC ドライバではなく、Microsoft Jet OLEDB プロバイダを使用することを推奨します。
<関連情報>
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
第8回 Access 2000とMSDEを利用してクライアント/サーバーシステムを構築する
<ACCESS 講座>
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
Sponsored Links
アクセス解析のキーワードに、数件ですが「ACCESS メモリ不足エラー」と言うのがあり、そう言えば昔私も困ったなーと思ったまでは良いのですが、どんな原因で、どんな方法で対処したか。。思い出せません。
そこで、このキーワードで調査して、大まかですが分類すると下記のようになるのではと思います。
1)マイクロソフトの不具合
2)jetエンジンのヴァージョン
3)メモリリーク、プログラム(VB)コーディング上の問題
1)マイクロソフトの不具合
(1)Access 2007 でクエリを実行するとエラー メッセージ 「メモリ不足です」 または 「クエリが複雑すぎます」 が表示される。
この問題は、Access 2007 に結合の数が 16 までという制限があることにより発生します。また、WHERE 句に大きく複雑なクエリ条件があると、エラー メッセージ「メモリ不足です」 が表示されることがあります。
http://support.microsoft.com/kb/918814/ja
2)jetエンジンのヴァージョンの問題
(1)Microsoft Access の起動時にエラー「メモリ不足のため作業を完了できません」 が表示される。
Access 97 を使用している場合、Microsoft Jet Database Engine 3.5 の更新版3.51をインストールすると改善できます。
http://support.microsoft.com/kb/161255/ja
Accessのバージョンとjetエンジンバージョンの対応表が記載されていますので、必ず参照して下さい。
Jet 4.0 データベースの動作環境を最適に保つ方法
http://support.microsoft.com/kb/303528/
3)メモリリーク、プログラム(VB)コーディング上の問題
(1)Access2000 フォームの開閉を何度も繰り返すとメモリ不足エラーが発生する。
<現象>
Windows 95 または98 上で実行する Access 2000 データベースまたはプロジェクトで、同一セッション中にフォームを何度も繰り返し開いたり閉じたりすると、システムの反応が遅くなり、次のエラー メッセージが表示されることがあります。
不要なアプリケーションを終了し、再度実行してください。
・メモリを解放する方法については、Microsoft Windows のオンライン ヘルプの「メモリ、トラブルシューティング」を参照してください。
Windows 95 または 98 上の Access 2000 でフォームを開いて閉じるたびに、フォント用にシステム GDI リソースが使用され、そのまま解放されません。ほとんどの場合、このことには気付きません。ところが、24x7 環境などで長期間データベースを開いたままにし、そのデータベースのフォームを何百回も開いたり閉じたりしていると、最終的にパフォーマンスの問題とメモリ不足エラーが発生することがあります。この現象が発生するまでにフォームを開くことができる回数は、フォームの構造と Windows で他に動作しているプログラムによって異なります。
http://support.microsoft.com/kb/248910/ja
(2)Access 2003 で応答なし、または強制終了する場合がある。
Access 2003、 IME 2003 または、Access 2002、 IME 2002 を使用しているとメモリ リークが発生し、Access が、応答なし、または強制終了する現象。
http://support.microsoft.com/kb/884086/ja
(3)98系のOSで、VBエディタを開くときにメモリ不足エラーになる。
98系のOSはすぐにリソースが無くなりますので注意です。(不要なソフトは全部落として使用する)
(4)VBでファイルを操作するコーディングで、最後にファイルの解放処理記述が抜けている為に、メモリ不足になる。
Rst.Close、 Set Rst = Nothing等を記述しないと、メモリリークを起こす可能性があります。
<補足>
1)mdbの編集作業での注意事項
mdbは、開発中に頻繁に修正すると肥大化しますので、最適化処理をたまに実施しながら編集しましょう。
2)mdbが、何かの拍子?で壊れることがあります。
なおらない場合には、新規mdbファイルに全てのオブジェクトを移すと、なおる可能性があります。
私などは、この方法で何度も救われています。
98時代は、よくありましたが、XPになってから減ったように思います。
開発環境も、98の時代はマシンの性能やOSの能力が、余りにも貧弱だったのだと思います。
以上
<関連情報>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
Accessを使用して、データベースが使えるようになると、複数台のパソコンでデータを共有して使いたくなります。
ただ、いきなり「SQL Server」のような「クライアント/サーバー型」のシステムを構築するわけにも行かず、小人数で手軽に使用できないか? となるとこの方法がうかんできますが、問題も多いのです。
そこで、「共有方法」と「共有する場合の注意事項」について掲載します。
Accessの「mdb」は、「壊れます」、増してファイル共有で使用すると益々その確率も高くなりますので、これから記載する知識は、最低でも覚えておいても損はないでしょう。
1.Accessのデータ共有方法
通常、Accessでデータベースを作成すると、データ(表)、フォーム、レポート等を1つのmdbに格納しますが、これをテーブル(データ)のみ、もう一つのmdbに独立して格納します。
このようにデータmdbとアプリケーション(処理)mdbに分けておけば、データを何処か1カ所のPCに、アプリmdbをそれぞれ使用するPCに(Access Runtimeをインストール後)インストールすれば共有できます。
<補足>
(1)この分割する機能は、Accessにあります。
メニューバーの「ツール」の「データベースユーティリティ」の「データベース分割ツール」で実施します。
(2)分割するとデータとリンクを取るための処理をデータにアクセスして使う前に、実施する必要があります(メニューバーの「ツール」の「データベースユーティリティ」の「リンクテーブルマネージャー」で実施します)。
尚、ランタイム版のアクセスをインストールしたPCでは、上記の「データベースユーティリティ」は使用できませんので、あくまで「ACCESSの正規版の入ったPC」で実施して、その「mdb」を各PCにCOPYして配布します。
「ACCESSのランタイム版」は、
作った「データベースソフトを動かすことはできます」が、開発作業は一切できません。
2.ACCESS(Jet データベース)を共有する場合の注意事項
1)jetデータベースファイルのファイル共有制限(Windowsのバージョン)。
Windows 95、 98、Me のファイル共有に格納されている Microsoft Jet データベース ファイルを 「NT クライアント」、「2000 クライアント」と共有することは推奨していません。
Windows 95、 98、 Me を実行するコンピュータと Windows NT、2000 を実行するコンピュータとが混在する環境で他のネットワーク ユーザーとデータベースを共有する場合は、Opportunistic Locking を無効にしたうえで、Windows NT 、2000 を実行するサーバーにデータベース ファイルを格納して共有することを推奨しています。
Windows 95、98、 Me のファイル共有に格納されているファイルを、Windows NT、2000 を実行するクライアント コンピュータと共有している場合、データベースの破損が発生することがあります。この問題は、Windows NT 、2000 を実行するクライアント コンピュータで 「Opportunistic Locking」 が無効になっている場合でも発生することがあります。
2)ファイル共有で使用するデータを格納するPCについて(XP等でも良いが、なるべくサーバーマシン)
Jet データベース ファイルを使用するユーザーの数と要求の数に対応できるファイル サーバーを使用してください。また、このファイル サーバーには 、ドメイン コントローラ、Exchange サーバー、SQL Server など他の役割を与えたサーバーを避けて下さい。。
3)ネットワーク接続を確認する
ネットワークが安定していてること、ファイル サーバーへのネットワーク接続が安定していることを確認します。 WAN、モデム接続、FTP など、信頼性の低いネットワーク転送方式を経由して Jetエンジン を使用することは推奨しません。
Access Jet はファイル共有型のデータベース システムですので、信頼性の低いネットワーク転送方式を使用するとクライアント接続が遮断されることが多くなり、その結果データベースが破損する可能性が高くなります。
4)各クライアントからの接続数を最小限にする
Microsoft Jet データベースへの接続を各クライアントが 1 つずつ使用する設計にすることを推奨しています。
10台で共有していても、1つのデータmdbを同時に使用するのは2〜3、4台で使いましょう。
5)Microsoft Jet データベースへのアクセスに ADO を使用する
ADO から Microsoft Jet データベースにアクセスする場合、Microsoft Access ODBC ドライバではなく、Microsoft Jet OLE DB プロバイダを使用することを推奨します。
最後に
上記、制限事項1)〜3)くらいまでを無視して使用すると、データを格納した「mdb」が頻繁に壊れます。
自分でバックアップを毎日取っていればOKでしょうが、こんなのシステムとは言えません。
一人、二人で使用するならサーバーマシンは必要ないと思いますが、10人くらいで使用する場合は安くてもかまいませんが、Windowsサーバーマシンを使用することを推奨めます。
<加筆>
mdeファイル作成時のエラーについて
ACCESSデータベースの「mdb」を「mde」ファイルに変換して配布する場合があります。
「mde」に変換すると、VB等のモジュールが変更できなくなり、改造を防ぐには良い手段ですが、Access データベースを「mde」 ファイルとして保存しようとすると、次のエラー メッセージが表示され、MDE ファイルを作成することができない場合があります。
「MDE データベースを作成できませんでした。」
<Table IDの詳細>
mdb ファイルを mde 形式で変換して保存する場合、Jet データベース エンジンは Table ID を使用しますが、Table ID の数を正確に見積もることはできませ。基本的に各モジュールごとに1個のTable ID を使用します。
VBAのmdeのプロジェクト、およびデータベースのプロジェクトは、いずれもこのTable IDを必要とします。 その為、データベースにフォームが 500 以上含まれ、かつ各フォームの "HasModule/コード保持" プロパティが [Yes/はい] に設定されている場合は、データベースを MDE 形式で保存するときに Table ID が 1000 個必要になります。
<原因>
Jet データベース エンジン 4.0 では、最大 2048 個の Table ID を一度に開くことができます。
多数のオブジェクトを持つデータベースを mde 形式で保存すると、その処理中にこの制限値を越えることがあります。
<回避策>
できる限りフォームやレポート上のオブジェクトを減らして軽くするか、データベースの中のオブジェクトの数を減らす。
<関連情報>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
「WEBサービス ニュース」サイトで、ACCESSを使用したデータベースアプリを作成する講座を始めましたので参考にしてください。
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
Sponsored Links
関連タグ : ACCESS,
私の経験ですが、ACCESSでデータベースシステムを作成し始めて、1年くらい、書籍を沢山買い込んで勉強しましたが、書籍になかなか記載されていない問題にぶつかり、困った時期がありました。
そこで、今回は、私のつたない経験から覚えたトラブルの対処方法を記載します。
「ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
本当に、壊れます (こう書くと、使う人がいなくなるのが怖い?)。
ACCESSというソフトのコンポーネンツを使いデータべース処理システムを構築しているせいだと思いますが、Access が正常に終了しない場合や、HDDやネットワークの障害などにより、データベース ファイルが破損してしまう場合があります(Jetエンジンの絡みの問題もありますが、それは別途、記載します)。
修復する方法は下記の2つです。
1.データベース ユーティリティで修復する。
2.新規データベースにインポートして修復する。
まずいと認識できたら、まず項番1を実施、ダメなら項番2を実施して修復を試みて下さい。
<注意事項>
これから説明する方法は、壊れたファイルや予期しない動作をするファイルの正常な回復を保証するものではありません。 状態によっては、データを修復できず、ファイルを作成し直さなければならない場合があります。
1.データベース ユーティリティで修復するには
最適化/修復ユーティリティが付いていますので、これを使用するとファイルを修復できる可能性があります。
1) 壊れているファイルを別のドライブやフォルダにバックアップします。
2)「 .ldb」 ファイルが存在する場合は、削除します。
格納場所のmdb ファイルと同じ名前の ldb ファイルが存在する場合は削除します。
対応する mdb ファイルを開いている場合は、閉じてから ldb ファイル削除します。
<補足説明>
ldb ファイルは共有データベースでどのレコードが誰によってロックされているかを特定するためのファイルです。mdbを終了させるとldb ファイルは自動的に削除されますが、データベースが破損していると、自動的に消えず、残ってしまう場合があります。
3)データベースを閉じます。
4)「最適化元データベース」 ダイアログ ボックスを表示します。
メニューバーの「ツール」の「データベース ユーティリティ」の「最適化/修復」 をクリックします。
5) 修復するファイルを選択します。
修復するファイルを選択し、「最適化」 をクリックします。
6) ファイルを保存します。
ファイルダイアログの「保存先」 ボックスの一覧から保存場所を選択し、「ファイル名」に任意のファイル名を入力し、「保存」 をクリックします。
7) 修復されたファイルが保存されます。
これで、保存されたファイルを開いて修復されているかチェックします。
2.新規データベースにインポートして修復するには
新規で空のデータベースを作成して、壊れたmdbのオブジェクト(フォーム、レポート処理やデータ等)をインポート機能を使用してCOPYします。
これだけで正常に動作する場合もありますが、ダメな場合は、項番8)以降の対処も実施して下さい。
1) 作業ウィンドウを表示。
メニューバーの「ファイル」 の「新規作成」 をクリックします。
2)「新しいデータベース」ダイアログ ボックスを表示します。
「新規」 の「空のデータベース」 をクリックします。
3)ファイルを保存します。
「保存先」 ボックスの一覧から保存場所を選択し、「ファイル名」に任意のファイル名を入力します。
次に、「作成」 をクリックします。
4)「[インポート」 ダイアログ ボックスを表示します。
メニューバーの「ファイル」 の「外部データの取り込み」 の[インポート] をクリックします。
5)インポートするデータを選択します。
「保存先」 ボックスの一覧から保存場所を選択し、インポートするファイルを選択します。
次に、「インポート」 をクリックします。
6)インポートするオブジェクトを選択します。
インポートするオブジェクトのタブをクリックし、インポートするデータをクリックします。
次に、「OK」 をクリックします。
これをオブジェクト毎に実施する。
7)オブジェクトがインポートされます。
8)Visual Basic Editor を開きます。
オブジェクトの一覧から、「モジュール」 をクリックし、任意のモジュールをクリックします。
次に、「デザイン」 をクリックします。
9) コンパイルを実行します。
「デバッグ」 をクリックし、「"モジュール名" のコンパイル」 をクリックします。
10)エラーメッセージを閉じます。
エラーメッセージが表示されたら、[OK] をクリックします。
11)モジュールをデバッグします。
エラーのある個所が選択されるのでデバッグします。
3.Jetcomp ユーティリティを使用する
・MDB ファイルが開けない場合など、他の方法では回復不可能なmdbを修復できる場合があります。
・Jetcomp ユーティリティの入手方法については、下記のサポート技術情報を参照して下さい。
http://support.microsoft.com/kb/273956/EN-US/
<補足>
Access2000で記載していますが、Access2002も同様です。
実は、Access 2000 でデータベースの破損を防ぐには、使用しているユーザー数やネットワーク環境、Jetのバージョン等、細かな設定も必要ですが、それは次回掲載いたします。
<関連記事>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
Sponsored Links
第3回目は、アクセス 2007の情報です。
Office 2007製品は、お試しが提供されています。
Word、Excel、Ppt、Access、Onenote等の2007バージョンです。
自分の現在のパソコンで、ちゃんとパフォーマンス(重くならないで)がでるかどうか?
試してみるのは、もってこいのサービスです。
Access2007の販売は、単体とOfficeの最上位バージョンに入っています。
(学生、教育機関の方は、アカデミックパックがあり安いです)
1.最新の「ACCESS 2007」は、無料でダウンロードして、試用可能です。
下記のサイトの「Microsoft® Office Professional 2007」に同胞されていますのでどうぞ。
http://japan.trymicrosoftoffice.com/default.aspx?culture=ja-JP
<注意事項>
「ダウンロード前にお読みください」
試用版をインストール後に、以前のバージョンに戻すためには、旧バージョンの物理メディアが必要です。 「Microsoft Office システム Beta 2 スイート」または、プログラムを実行している場合、Microsoft Office システム 試用版のインストール前にアンインストールしてください(しないと、インストールができません)。
・Office 2007は相当、「でかい」ソフトですので、性能の低いパソコンは止めた方が良いと思います。 (例えば、XPでメインメモリ256Mしか搭載していないPCなど。。。)
2.Microsoft Office Access 2007 の 10 個の主な利点
下記のサイトにメリットが、記載されていますので参考にして下さい。 評価はしません。
http://office.microsoft.com/ja-jp/access/HA101650211041.aspx
・Microsoft Office Access 2007 のサイト
http://office.microsoft.com/ja-jp/access/FX100487571041.aspx
3.ACCESS 2007の「ランタイム」 について
本記事に、「access 2007 ランタイム 日本語」なるキーワードで訪れる方が多いのですが、ランタイムですので「日本語」かどうか関係ないのだが。。。。Accessのアプリを動かす機能しかない。
もし、「ランタイム」の意味を分かっていなければ、下記の記述を読んで、ちゃんと「認識」を。
<対応OS>
Windows vista、XP(SP2)
<機能>
・ランタイムは、ACCESSがインストールされていないパソコンで、ACCESSで作ったファイル(プログラム)を動かすためのものです。
・通常版のACCESSとは、全然機能が違います。
・開発(フォーム、レポート等は、いじれません)作業は一切できません。
「Accessで作られたアプリケーションを動かす機能しか」ありませんので、誤解の無いよう。。。
MS社から、「ACCESS 2007」のランタイム(Runtime)が無償ダウンロード可能になっています。
「MSDE」は、VISTAでサポートしないので、「SQL Server 2005 Express(MSDEの後継)」へのアップグレードする必要があり、クラサバでAccess2007をフロントエンドにしようとしているユーザ向けに導入しやすいように無料配布したのではと思いますが。。。。。
Access2000、2002(XP)、2003ユーザーは、早くAccess2007に移行すれ! と言うことか?
フリー(無料配布)にした、意図は不明です。。。「Base」の影響?
下記のサイトより、英語版、日本語版どちらでもダウンロードできますが、2007以外の、どのバージョンで使用できるのか不明、調査中。
<英語版サイト>
http://www.microsoft.com/downloads/details.aspx?FamilyID=D9AE78D9-9DC6-4B38-9FA6-2C745A175AED&displaylang=en
<日本語版サイト>
http://www.microsoft.com/downloads/details.aspx?FamilyID=D9AE78D9-9DC6-4B38-9FA6-2C745A175AED&displaylang=ja・Access2007のRuntimeは、2007でしか使えないようです。
・Access 2000、2002(XP)、2003のmdbを動かす場合は、別途、別バージョンのランタイム必要ですが、マイクロソフト社では、無料で配布していません。
<加筆2>
・使えるという情報もあります。英語版ですが、日本語もOKになっているようです。
現在、別のバージョンのAccessをインストールして、業務で使用中のため試すことができません。
Accessの入っていないPCにインストールして試すのが、無難だと思います。
なぜなら、ランタイム版は通常版のAccess本体と別の場所にインストールされますが、どのようなコンポーネンツがインストールされるか不明ですので、購入された別バージョンのAccess本体がインストールされているPCでは避けたほうがよろしいかと思います。
これが、本当にAccess2000以降のバージョンで使えると、今までAccessが無くて使用できなかった、多数のAccessのフリーソフトが気軽に使用できるようになるというメリットがあります。
疑問点
1)Access2007のmdbで使用するjetエンジンはどうなっているのか?
現在リリースされている最新版のjetで動いているのか
<加筆1>
4.Access2000をAccess2007に移行
mdb型式ならそのまま使用可能、accdb型式は変換が必要です。
Microsoft Office Access 2003、Access 2002、または Access 2000 を使用している場合、Access 2007 に移行可能です。
Access 2007 では、上記の .mdb ファイル形式がサポートされています。
Access 2007 をインストールし、上記バージョンのAccessデータベースを開くだけで済み、Access 2007 データベースを使用する場合と同じように、そのデータベースを使用可能です。
ただし、Access 2007 には、新しい .accdb ファイル形式を必要とする多数の便利な新機能が含まれているため、可能であれば、新しいファイル形式を使用することを勧めています。
.mdb ファイル形式を引き続き使用する場合はそれらの新機能を利用することはできません。
MS社の説明より
その他のバージョンは、詳細は下記のMS社サイトを参照
http://office.microsoft.com/ja-jp/access/HA102091151041.aspx#1
<関連情報>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
マイクロソフト ACCESS(アクセス) 概要
今回は、Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性について記載いたします。
1.ACCESSのバージョン
バージョンがどんどん上がるのが、ちょっと厄介な製品ですが。。。。。
1993年発売。
Access1.1、Access2.0、Access95、Access 97、Access 2000、Access 2002、Access 2003、Access 2007(最新版)とまあ、果てしなく続きます。
一番大きな変更は、「97」から「2000」の時です。ADOが使えるようになり、クラサバに移行可能になりました。 ですので、「ACCESS 97」は、もう「化石?」ですので、対象外とします。
「Access 2000」以降があれば、97のmdbは、2000のmdbに変換できますので。。。諸般の理由で「Access97」を使い続けるのだけは勘弁です。
「Access 2000」 のリリースで、Access プロジェクト (.adp ファイル) という新しいテクノロジが導入されました。この新機能を使用すると、Access 環境で本格的なクライアント/サーバー アプリケーションを開発できます(Jetではなく、後で記述するMSDEを使ってクラサバが構築できます)。
(クラサバ:クライアント/サーバーの略称)
2.コンポーネンツ
1)データベースエンジン
Accessのデータベースエンジンは、Jetデータベースエンジンと呼ばれるものです
(実績は十分ですし、jet使用時は、DAOでVBを記述できます)。
2)オブジェクト
・DAOは 「Data Access Objects」で、Jet向けに開発されたインターフェースオブジェクト。
・ADOは「ActiveX Data Objects」で、OLE DB プロバイダを介して言語に依存しないインターフェイスオブジェクトとして開発されました。
(SQLServerに移行する予定のある場合は、必ずADOを使用する事。DAOは使えません)。
3.EXCELからのAccessデータベースへのデータ移行
・エクセルを使ってデータベース代わりに使用している方が、たいへん多いと思います。
・エクセルから、アクセスのデータベースにデータを移行する作業は、簡単にできます。
・テーブル変換ツールが付いていますので、数分で移行作業が完了します。
<注意事項>
移行後、テーブルデータ項目の属性定義で「文字」や「数値」等の定義をしますが、「Excel使い」の方は、これがある特定の項目内で「ぐちゃぐちゃ」で適当に入力されている場合がありますので、直してからの方が良いかと思います(文字の項目、数値の項目と)。
Excelの様に、「適当」には入力できないですので注意です。
4.ACCESSデータベースの配布形態
Accessを購入すれば、データベースの作成と使用(運用)ができますが、Accessのインストールされていないパソコン(PC)では、Accessで作成したデータベースファイル(mdb)は、起動できません。
ですので、通常、完成したシステムを配布、使用する場合は、別途Access「ランタイム」をインストールして使用してmdbを起動できるようにして、納品します。
・このAccessの「ランタイム」は、条件はありますが無償で配布できます。
通常は「Officeのディベロッパー」バージョン(Office 2000、XP等)に配布権つきの「Runtime」と簡易版の「MSDE」が、開発キットとして付いています。
<配布条件>
・このバージョンのパッケージを購入した人に配布権が得られます。
・ディベロッパーがAccessで作成した自分の会社のソフトを販売するときに顧客に配布できます。
しかし、Accessのランタイムをヤフーで勝手に売ることや、他人にタダで渡す事は違反です。
「Officeのディベロッパー」バージョンは、ヤフーオークションでもたまに出品されていますが、あまり、値崩れしません。高いです。2002(XP)バージョンで5万円くらいかと。
<ランタイムだけですませようとしても、そうは問屋が卸しませんよ!>
みなさん、ここが分かっていないと思いますが、「Accessのmdb」を使うだけなら、ランタイムでOKですが、自分でシステムを作成する場合は、どうしてもAccessを購入する必要があります。 Runtimeでは、作成ができません。作ったソフトを動かすだけしかできません。
まあ、高価ですが、自分でデータベースを作成して活用できるなら、購入する価値は十分あります。
5.拡張性について
クライアント/サーバー型の本格的なデータベースソフト「SQLServer」に移行可能です。
無償の「MSDE」と有償の「SQLServer」どちらかのデータベースエンジンを使って実験できます。
MSDEとは、SQL Server 7.0と互換性があるクライアント/サーバー型データベースエンジンです。
「移行可能です」と言いましたが、「とって!もたいへんです」。
ACCESSでプログラムを作成できる素人が実施するとしても、下記の作業をするのに多分100時間以上「お勉強」する必要があります。
<作業内容>
お勉強の為にACCESSで作成したプログラムを移行するなら、「MSDE」を使用(無償のソフトですので、DL、インストール可能)して、ACCESS mdbをアクセスプロジェクト型式(adp)に変換すると、クライアントサーバー型の本格的なデータベースソフトとして動きます。(この変換作業がとてもたいへんです)
初めから、ACCESSでadp型式で作成した方が、早い場合もあります。
MSDEに関する注意事項:
Microsoft SQL Desktop Engineは、Windows VistaとLonghorn Serverではサポートされないことが決まっています。従って、Windows Vistaを使用する場合は、移行する必要があります。
「MSDE」から「SQL Server 2005 Express(MSDEの後継)」へのアップグレードする必要があります。
業務で使用するならVistaはもちろん、Vistaにする予定があるなら、MSDEを使用しない方が良いのではと考えます。
(どちらの製品も、MicrosoftのWebサイトから無料でダウンロードが可能ですが。。。)
<関連情報>
・第1回の内容は、ACCESS(アクセス)データベース作成ソフトについて
Accessの能力評価、問題点について記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-151.html
第3回の内容は、Access2007の情報です。
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
関連タグ : ACCESS,
「自分でデータベースソフトを作成(開発)してみたい」とお考えの方が、アクセス解析でキーワードを見ると多いですね。 当サイトの「Base」の記事を見てくださる方が多いです。
とはいえ、「タダ」のデータベース作成ソフトを使うか、有料の作成ソフトを購入するかどうかは、目的次第ですね。
今回は、マイクロソフト社の「ACCESS」について記載しましたので、検討資料にして下さい。
第8回までありますのでどうぞ。
1.内容による判断基準
1)手書きやEXCELの帳票をデータベースから印刷したい程度。
・多分、「タダ」で使えるなら、使ってみたいと考えている方が大勢いるのではないでしょうか?
「Base」が有りますよ!。スタンドアロン(PC1台)で使用するなら十分でしょう。
2)複数人で、大量のデータを扱い、集計したり、データ分析まで幅広く活用したい。
・「タダ」のソフトでは、限界がすぐ見えてくると思いますので、あまり、お奨めできません。
2.素人が手を出しても、何とかなるソフト
1)「ACCESS」 マイクロソフト社 (有料)
単体版又は、MS社 Officeの上位バージョンに同胞されています。
2)「Base」(ベース) (無料)
オープンソースのオフィススイートソフト「OpenOffice.org 2.0」やStarSuite 8」(スタースイート 8)に、新たに追加されたデータベース機能を有したソフトです。
・Windowsやmacでも使えます。
「Base」の場合、「素人が手を出しても」と云いましたが、Accessと違い、まだ新しいソフトですので、使い方は自分で試行錯誤して覚える必要があり、自分で調べる「覚悟」が必要です。
Accessのようにサンプルmdbやサポートサイトが、いくらでも有るデータベースソフトでは有りません。
・「base」についての情報は、下記の当ブログページを参照して下さい。
MS ACCESSとの互換性についても記載しています。
http://weba03.blog96.fc2.com/blog-entry-135.html
・「Base」でアプリ作成も参考にして下さい。
Baseを初めて使う方用に解説しています。
http://webservice01.blog4.fc2.com/blog-entry-36.html
3)「ファイルメーカー」 (有料)
Windowsやmacでも使えます。
・新版「FileMaker 9」がリリースされました。
http://www.filemaker.co.jp/products/
・下記のサイトから、30日限定の評価版をダウンロードできます。(Win、Mac)
http://www.filemaker.co.jp/support/downloads/index.html#trial
マイクロソフト ACCESS(アクセス)
1)ACCESSの能力評価
業務で運用する場合、初めから、クライアントサーバー型の「SQLServer」にするか、ACCESS mdbで作るか迷うところです。
どんな形態の業務、どんな運用するのか、開発予算がたくさん有るのか、自社で面倒を見ることができる人間を育てる余裕があるか、で検討する必要があります。
(1)スタンドアロンでACCESSを使用する。
一人でしか使用しないならこれでOK。
(2)Windowsのファイル共有を利用して、ACCESSを使用する。
「データmdb」と「システムmdb」を別々のファイルで管理、運用する使い方です。
<利点>
下記の条件で使用するなら、十分とは言えないがコストパフォーマンス的には良いのでは。
データmdbを格納するPCは、できればサーバー的使用状態が理想です(つまり誰も使用していないPC)。
・クライアントPC端末10台位で、同時に使用(データにアクセス)するタイミングが3台〜5台程度。
・データ件数 数万件〜10万件程度。
<欠点>
・データmdbを格納しているPCが、「こける(ダウン)」とデータが壊れて読めなくなる恐れがあります。復旧できる場合と、できない場合がありますので、毎日バックアップを自分で取ります。
・データ量(レコード)が増えるとデータベースが重くなります。
原因は、例えばデータ表示画面を開いたとき、データを全件クライアントPCに読み込んできます。
本格的なクライアントサーバー型のデータベースソフトは、問い合わせた1件しか読み込まない処理になっています。(表現が難しいので、分かりやすく言えばですが。。。)
・定期的に、データmdbは肥大化するので、「最適化」する作業が発生します。
保守作業が定期的に発生するので、小さな会社では「誰がやるの?」状態になります。
(3)クライアントサーバー型のデータベースシステムソフト「SQLServer」とACCESSを使用する。
利点 : 「ファイル共有利用」時の欠点をクリアーできます。
欠点 : コストがグンと上がります(ソフトや開発費用)。
作成後の保守メンテ、改良作業の発生について(業務で使用する場合)
定型的な業務、見積、請求管理のDBならパッケージソフトのように、そのまま使い続ける事が可能でしょうが、顧客管理業務やデータ分析が必要な業務は、完成後、、修正、変更、改良作業がどうしても出てきます。
なぜなら、「初めから仕様が決まるような業務レベルで仕事をしていない」からです。
もう一つ、ファイル共有で運用すると、データmdbのメンテも必要です。
ですので、「金」も無く、「いじれる」人間が社内にいないと業務がSTOPしてしまいます。
小さな会社で、Accessを使うには、絶対に「いじれる」人間を育てるか、雇うか、外注する必要があります。
素人が「いじれて」、たいへん便利なデータベースソフトですが、能力の無い人間に「やれ!」と言ってすぐに使えるほど、このソフトは「甘くはありません」。
「甘くない」理由を。。。。。最低でも、おぼえる必要のある項目
1)「リレーショナルデータベース」の概念をまず、理解する。
・デーブル、クエリの概念と設計(一番重要)。
・大げさに言えば、リレーショナルの概念が理解できていないと各テーブルの項目定義ができない。
(Excelで言えば、ある目的のデータの表の定義です)
・これを元に項番2)の作業に行きます。
失敗しないと、理解できないかも知れませんが。。項番2)まで行って、失敗に気づいた時は、項番1)からやり直しです。
2)フォーム(画面作成)、レポート(帳票作成)の作成方法
・この作業は、難易度は低いが、根気が必要です。
・画面や帳票は生成するウイザードがありますので、生成後に1項目ずつ調整します。
・項番1)のテーブルの設計を「誤る」と2)の作業が「グチャグチャ」になります。確実に!
3)関数、マクロ、VBAのコーディング方法
VBAまでくると、プログラミングの技術です。関数とはわけが違います。
・サンプルの記載された書籍が沢山あります。
(当ブログの右サイドバーのアクセス書籍の「表現百科」がお奨めの一冊です)
「ウエブサイト」にもお奨めがあります。
・「Microsoft Access Club」です。
・上記項番3)のレベルに達していれば助かるサイトです。
・サンプルVBAコードも沢山掲載されていますし、初心者から上級者まで参考になります。
http://www.accessclub.jp/index.html
・アクセスのサンプルDBをお探しなら、「Accessサイトリンク集」がありますので、ご自分で探してみて下さい。
http://www.accessclub.jp/linksite/index.html
素人で、私の知っている限りでは、このようなことをできる方を知っていますので、決して不可能ではありませんが、少しの「能力」と相当の「努力」が必要でしょう。
さあ、チャレンジしましょう!!! 応援しますよ。
あまり、脅しては、誰もやらなくなってしまいますが。。。。業務で使用する場合は会社から、1年間の猶予をもらいましょう。
<関連記事>
・第2回の内容は、マイクロソフト ACCESS(アクセス) 概要
Accessのバージョン、コンポーネンツ、EXCELからの移行、配布形態、拡張性などについて記載いたします。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-167.html
・第3回の内容は、マイクロソフト ACCESS(アクセス)2007の情報
2007の試用版、ランタイム情報、他のバージョンからの移行ついて記載しています。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-168.html
・第4回の内容は、ACCESS トラブル対処の情報1
ACCESS2000で壊れてしまったmdbファイルを修復する方法」です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-190.html
・第5回の内容は、ACCESSを「ファイル共有」で使用する場合の注意事項
ACCESSで「ファイル共有」方法とファイル共有する時の注意事項です。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-191.html
・第6回の内容は、ACCESSのトラブル対処の情報2
ACCESSの「「メモリ不足」エラーについてです。
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-193.html
・第7回の内容は、ACCESSで Jet 4.0 データベースの動作環境を最適に保つ方法
こちらからどうぞ http://weba03.blog96.fc2.com/blog-entry-202.html
・第1回 マイクロソフト ACCESS(アクセス)でデータベースを作成
・第2回 マイクロソフト ACCESS(アクセス)でデータベースを作成
Sponsored Links
関連タグ : ACCESS(アクセス), データベース, SQLServer, マイクロソフト,


