トラブルシューテイング ●MySQLをインストールするコンピュータに ウイルスチエックソフトがインストールされている場合は、 ウイルスチエックソフトをいったんアンインストールしてから MySQLのインストールをおこなってください。 ●インストールするMySQLのバージョンは 4.0.*までをインストールし、4.1.*はインストールしないでください。 3.23.57.*を推奨します。 ●WindowsXP SP-2をMySQLサーバーにする場合は、MySQLが使用するポート3306を開く必要があります。 方法:コントロールパネル→セキュリテイセンター→Windowsファイアウオール→例外タブ→ ポートの追加で3306を追加します。 ●MySQLサーバーに使用しているコンピュータからインターネットに接続しないようにしてください。 --------------------------------------------------------------------------- MyProdocを使用するための準備の確認 ひとつずつチエックしてください。 □Serverのネットワーク設定で、TCP/IPを設定し、IPアドレスを決めて固定する。 IPアドレスは 192.168.0.2 を推奨。 □Clientのネットワーク設定で、TCP/IPを設定し、IPアドレスを決めて固定する。 IPアドレスは同じものが存在してはいけません。 □Server自身のコマンドプロンプトから、 >Ping 192.168.0.2→Enterキーをクリックして、 Reply from 192.168.0.2,,,, と応答が帰る事を確認。 □各Clientのコマンドプロンプトから、 >Ping 192.168.0.2→Enterキーをクリックして、 Reply from 192.168.0.2,,,, と応答が帰る事を確認。 □ServerにMySQLをインストールする □ServerのMySQLに日本語が使用できるように設定する。設定後再起動が必要 □ServerのC:\mysql\data\に datum master support image の各データベースファイルを移動する。 □Serverの C:\mysql\data\datum C:\mysql\data\master C:\mysql\data\support C:\mysql\data\image のフォルダー・内部のファイルが読取り専用でないことを確認。 □ServerのHDD内に<かねやんMySQLAdmin>の全ファイルをおき、 MySQLが起動していることを確認後、かねやんを起動し、アドミニストレーターとしてログオン可能なことを確認。 □Server上で起動したかねやんで、<管理用データ>の<ユーザー一覧>で、root(%)がある、 すなわち、rootユーザーで、アクセスできるホストが%になっているユーザーがあることを確認する。 □各クライアントのHDD内に<かねやんMySQLAdmin>の全ファイルをおき、 MySQLが起動していることを確認後、かねやんを起動し、アドミニストレーターとしてログオン可能なことを確認。 □各クライアントにMySQLのODBCドライバをインストールする □各クライアントのODBCデータソースのシステムDSNタブ内に datum/master/support/image の各DSNを登録する □各クライアントのODBCデータソースのDSN登録内容を確認する datumであれば DNS name→ datum Server→ 192.168.0.2 MySQL Satabase name→ datum Usr→ root □各クライアントの C:\MyProdocに account.mdb myprodoc.mdbを配置する。ファイルが読取専用でないことを確認する □各クライアントにACCESS2000 SP-1以上がインストールされていることを確認 □各クライアントのOSがWindows2000である場合、JetデータベースエンジンVer4にSP-8を適用する --------------------------------------------------------------------------- ■ODBCドライバがインストールできない。 □当社からお送りしたCDからそのまま、Setupを実行して失敗したのであれば、 インストールファイルをHDDに移動した後に、インストールを行ってください。 また、ODBCドライバのフォルダーが -95であれば、ME,NT,2000,XPにインストールします。 -NTであれば、NT,2000,XPにインストールします。 なお、Windows98では、正常に動作しない場合があるようですので、 クライアント・サーバーともにME以降をご使用ください。 ■MySQLが起動しているかどうかわからない Severの画面右下の信号機が表示されない、あるいは表示されるが赤信号になっていて、 Start the Serviceを選択しても青信号にならない。 □Severの画面右下の信号機はMySQLAdmin.exeであり、MySQLサーバーそのものではありません。 MySQLサーバーの本体はmysqld.exeです。 WindowsNT,2000,XPではシステムの起動とともにMySQLServer(mysqld.exe)は起動します。 WindowsNT,2000では同時にMySQLAdmin.exeも起動し、画面右下に信号機が表示され、 そのまま青色が点灯します。 WindowsXPではMySQLServerが起動していてもMySQLAdmin.exeは起動しませんので、 Severの画面右下に信号機が表示されませんが、手動でMySQLAdmin.exeを起動すると、 青信号が表示されるようになります。 MySQLServerの稼動するためにMySQLAdmin.exeの起動が必要というわけではありません。 なお、信号が赤の場合、mysqld.exeは停止しています。 WindowsNT,2000,XPではコントロールパネル→(管理ツール)→サービスで MySQLがサービスとして開始されているかどうかを確認してください。 スタートアップの種類は通常は<自動>であり、システムの起動と同時に起動します。 サービスの状態が<開始>になっていればMySQLは起動しています。 サービスの状態が空欄であればMySQLは起動していません。 Windows98,MEでは、コンピュータを起動しても自動的にMySQLServer(mysqld.exe)は起動しません。 Windows98,MEでは、 c:\mysql\bin\winmysqladmin.exe をダブルクリックして起動してください。 これにより、はじめDOS画面が表示されますが、これがmysqld.exe本体です。 次にDOS画面が消えて、MySQLAdminが起動し、画面右下に青信号が表示されます。 ■MySQLが起動しません □事例 Severの画面右下の信号機が表示されるが赤信号になっている場合に、 Start the Serviceを選択しても青信号にならないときは、 WinMySQLadmin画面を表示して、my.ini Setup画面の内容を検討してください。 default-character-set=sjis と入力すべきところを、 default-charcter-set=sjis と間違えて入力していたために、MySQLが起動しないという例がありました。 (正)character (誤)charcter □事例 MySQLAdmin.exeをクリックしても、"accesss violation,,,,,,,,,,,"云々のエラーがでて、 MySQLが起動しない。 MySQLはTCP/IPプロトコール上でデータをやり取りするデータベースですから、 サーバー上のネットワークの設定でTCP/IPプロトコールが設定していなければ起動しません。 MySQLを起動する前にネットワークの設定でTCP/IPプロトコールを設定してください。 方法: @コントロールパネル→(管理ツール)→ネットワーク→ネットワークの設定タブで 追加ボタン→ プロトコールを選択→追加 TCO/IPを選択し、OKボタンをクリックします。 Aネットワークの設定タブへ戻り、 TCP/IP->LANボード名 を選択し、プロパテイボタンをクリックします。 TCO/IPのプロパテイ画面で、 <IPアドレスを指定>にチエックをいれます。 その後、 IPアドレス(192.168.0.2) サブネットマスク(255.255.255.0)を入力して→OK→OKでネットワークの設定を終了し、再起動します。 ■かねやんからMySQLへ接続できない □端末からPingコマンドで応答が帰ってくるかを確認します。 @プログラム→アクセサリ→コマンドプロンプトで DOS画面を表示します。(コマンドプロンプトの表示法はOSによって異なります) DOS画面上にServer機のPingコマンドとIPアドレスを入力します。 >ping 192.168.0.2→Enterで Requst timed out と表示されれば、TCP/IPプロトコールによるServer機への接続ができない状態です。 AServer機上で同じように >ping 192.168.0.2→Enterで と入力したのちに同じように応答が帰ってこなければ、TCP/IPの設定が無効です。 Server機でTCP/IPの設定をおこなってください。 B上記Aで Reply from 192.168.0.2,,,,,, と応答がある場合は、端末までのネットワークの物理的な接続、端末のネットワークの設定を確認してください。 SreverのIPアドレスは固定していなければなりません。 C端末からServerへのPingコマンドに対して応答があれば、TCP/IPによるServerへの接続は正常です。 □新しいMySQLのバージョンではデフォルトのホスト名が<gsw>に指定されているために、 そのままでは端末からの接続ができません。 @MySQLが稼動しているサーバーコンピュータ上でかねやんを起動します。 A以下のように入力します。 ユーザー名:root パスワード:空欄 ホスト名:192.168.0.2 (ホスト名は医療機関により異なります) B Aで接続が失敗したときは、 以下のように入力します。 ユーザー名:root パスワード:空欄 ホスト名:空欄 C上記いずれかの方法で接続できますので、接続後、 かねやんMySQLAdmin画面の左側の管理用データのユーザをダブルクリックします。 D表示されるユーザー一覧画面の上部に表示される *(地球のアイコンの)root:グローバルユーザー *(コンピュータのアイコンの)root:ローカルユーザー のうち、地球のアイコンのrootをダブルクリックします。 E表示されるユーザー情報画面のホスト名が gswであれば、これを削除し、 % に変更して、ユーザー名の横の更新ボタンをクリックします。 →本当に更新してもよいですか→<はい>を選択します。 FかねやんMySQLAdminを終了します。 以上により、すべてのコンピュータ端末で、かねやんから MySQLサーバーに接続できるようになります。 またこれにより、MyProdocを端末から起動してMySQLServerに接続するための前提ができたことになります。 GMySQLが稼動しているサーバーコンピュータ上でウイルスチエックソフトが稼働している場合は Fまでの設定ができていても、端末からかねやんで接続できないことがあります。 この場合は、ウイルスチエックソフトの設定で、かねやんからのアクセスを許可する設定に変更する必要があります。 もちろん、ACCESSからのアクセスも許可が必要です。 ■かねやんでユーザー欄をみると、地球のアイコンのrootが見つかりません この場合は、かねやんを起動して、すべてのHostに接続できるAdministrator権限をもつ rootというユーザーを作成しなければなりません。 方法 @かねやんを起動する ユーザー名:root パスワード:空欄 ホスト名:空欄 で起動します。 A管理用データのユーザーをダブルクリックする B表示される<ユーザー一覧>のアドミニストレーター欄に地球儀のマークのrootが無いことを確認して、 新規ユーザーボタンをクリックします。 C<ホスト名>欄に % と入力します。 D<ユーザー名>欄に root と入力します。 Eパスワード欄・確認欄は空白で結構です。 F下部の詳細設定部分で<アドミン設定>ボタンをクリックします。 G<アドミン設定になります>というメッセージが出ます→OKボタンをクリックします。 H更新ボタンをクリックします。→<本当に更新してもよろしいですか?>→OKボタンをクリックします。 I閉じるボタンをクリックします。 以上でグローバルユーザーのrootが作成されます。 <ユーザー一覧>で確認してください。 ------------------------------------------------------------------ ■MySQLテーブルに入力しようとすると、ODBCエラーが発生する。 上記かねやんから接続の場合と同様に、MySQLが稼動しているサーバーコンピュータ上で、 ウイルスチエックソフトが稼働している場合、 あるいは端末そのものにもウイルスチエックソフトが稼働している場合も、 端末からMyProdocで接続できないことがあります。 この場合は、ウイルスチエックソフトの設定で、端末からサーバーへのアクセスを、 端末側・サーバー側双方で許可する設定に変更する必要があります。 かねやんMySQLAdminは単にMySQLクライアントをビジュアル化しただけですので、 ODBC接続とは無関係ですが、MyProdocがMySQL Serverに接続するには、 @各端末コンピュータにODBCドライバがインストールされていなければなりません。 Aまた、MyProdocが使用する4個のデータベースそれぞれにひとつづつ 計4個のODBC DSNが作成されていなければなりません。 以下の順で確認します。 B端末機でODBCドライバのインストールがされているかどうか確認→ 方法:コントロールパネル→(管理ツール)→ODBCデータソース→ドライバタブで MySQL が表示されるのが正常。 表示されなければMySQLのドライバがインストールされていません。 C端末機でDatum/Master/Support/Imageの各データソースが登録されているかどうか確認→ 方法:コントロールパネル→(管理ツール)→ODBCデータソース→システムDSNタブで datum master support image がそれぞれ表示されているのが正常。 表示されていなければデータベースのデータソースが登録されていません。 D端末機でDatum/Master/Support/Imageの各データソースの登録内容が正しいかどうか確認→ 方法:コントロールパネル→→(管理ツール)ODBCデータソース→システムDSNタブで datumを選択して、<構成>ボタンをクリック 表示されるconfiguration画面で Windows DNS name:datum Server:192.168.0.2 MySQL Database name:datum User:root 以上のように入力されていれば正常です。 masterの場合は Windows DNS name:master Server:192.168.0.2 MySQL Database name:master User:root supportの場合は Windows DNS name:support Server:192.168.0.2 MySQL Database name:support User:root imageの場合は Windows DNS name:image Server:192.168.0.2 MySQL Database name:image User:root 以上のように表示されると正常です。 *ODBCドライバのバージョンによっては、上記のDNSの項目の見出しが異なることがあります。 *Server:192.168.0.2 の記載は、Server機のIPアドレスが医療機関によって異なることがあります ODBCドライバのバージョンによっては、(新しいドライバが古いOSにインストールされたような場合)、 正常に稼働しない場合があります。 このような場合はODBCドライバを変更してください。 □事例 環境 @MySQLは青信号で稼動している。 AODBCドライバは各クライアントにインストール済み。 BODBCデータソース(Datum・Master・Support・Imageの4個のDSN)は各クライアントに適切に設定済み。 Cサーバー機のIPアドレスも固定されている。 以上の環境でMySQLテーブルにデータを入力すると、ODBCエラーが発生。 原因はMySQLサーバー内の、データベースフォルダー内のファイルが読み取り専用になっていたため。 ダウンロードしたファイルをCDRなどにコピーして使用した場合などに発生することがあります。 -------------------------------------------------------------------------------- データ移植時の問題(プロフェッショナルドクターからMyProdocへの移行ユーザーの場合のみ) ■MyProdocへのデータ移植は、各移植ツールを起動して、まず、 @データ数確認フォームを開きます。 これにより、MySQLへの接続の有無が確認できます。 A次に、データの一括移動を行います。 Bデータの移動途中でエラーが発生した場合は、再度データ数確認フォームを開き、 どのテーブルまでデータ移行が行われ、どの段階で失敗しているかを確認します。 MySQL側のテーブルのレコード数が、特定のテーブルから0になっていれば、 その前段階での追加クエリーが失敗しています。 中断したマクロ名がでますので、それにより、失敗したクエリ名が判明します。 Cデータ移植の失敗したテーブルではACCESSのテーブルの中の移植に成功したレコードの次のレコードの内容を調べます。 D移植に失敗したACCEESSレコードを修正あるいは削除して、再度データ移植を行います。 ■プロドクデータからMyProdocにデータ移行時に、発生する問題について □オーバーフローエラー @患者登録名簿のMySQLテーブルに移行作業中に”オーバーフロー”エラーが発生する原因として、 初診日や生年月日欄に189/01/01、 昭25m月dのような無効な日付があった場合が報告されています。 このような場合、正常なレコードまではデータが入力されますが、 通常は異常な項目を含むレコード以降は入力されません。 この場合、データ移行ツール内のデータベースウインドウ内で、 MySQLテーブルに入力されたレコード数を調べ、ACCESSテーブルの左下のレコード数欄にその値を入力して、 Enterキーを押すと、ACCESSテーブルの正常レコードの末尾に移動します。 異常レコードはその次の行にあります。異常がわからない場合は、 その行をコピーして(株)ノーバメデイコにFAXにてご連絡ください。 あるいはそのテーブルのみをmdbファイルに入れてお送りください。 異常レコードでは通常、日付にエラーがあることが多いので、日付のエラーを修正して、 あるいは、そのレコードだけを削除して再度データ移行を行います。 この場合、レコード数表示フォームのMOVEボタンをクリックして、再度のデータ移行を行うことが能率的です。 というのは、同じテーブルで同様の異常レコードが他にも存在することが多いからです。 A最近ご報告があった事例では、病名テーブルの移植時に”オーバーフロー”エラーが発生し、 異常な項目を含むレコードも移植され、正常なレコードの部分でデータ移植が停止した、ということがありました。 6万の病名レコードがあり、データの移植をすると、1800番台でオーバーフローとなり、 その前後のレコードを削除しても、やはり、移植に失敗する。 そのため1000番台ごとに区切って日付を調べていったら、1500番台のレコードに、 101/01/01という異常な日付があり、そのレコードを削除したら、すべてのレコードの移植ができた。と言うものでした。 したがって、従来ご説明してきたような、異常なレコードの手前まで移植でき、異常なレコードは移植できない、ということも原則ではないということになります。 正常に移植できた部分の中のどこかに異常なレコードがあるといいう可能性もあると言うことです。 BSupportの<病・SOAP>のデータ追加中に、”メモリー不足です”エラーが出る場合、 データを分割して追加すると正常に追加できます。 ACCESSのMemo型項目を含むテーブルのデータ移行の場合に、同様のエラーが発生することがありますが、 データ移行ツールでは、このようなテーブルはいくつかのレコード数ごとに分割してデータ移動するようにしています。 CSupportの<病・SOAP>はmemo型の項目で構成されていますので、破損したレコードが含まれることがあります。 もし、<病・SOAP>テーブルからMySQLの<病SOAP>テーブルへのデータ移植が全くできない(=移植数が0)の場合は、 ACCESS側<病・SOAP>テーブルそのものがが破損して開けない状態である可能性がありますので、 この場合は以下のように処理してください。 *空のmdbデータベースを作成する。 *この中に、<病・SOAP>テーブルをインポートする。 *インポートが正常に行われ、レコード数が元のテーブルと同じであれば、本来の<サポート.mdb> の<病・SOAP>テーブルを削除して、インポートした<病・SOAP>テーブルを本来の<サポート.mdb>にインポートする。 *もし、作成した空のmdbデータベースに、<病・SOAP>テーブルをインポートすることが失敗したら、 本来の<サポート.mdb>の<病・SOAP>テーブルのレコードのSOAP欄に #Errorの記載があるレコードがないかどうかをチエックする。もしあればそのレコードを削除する。 Dデータ移植時に、<患者保険登録>のレコード数が ACCESSの患者登録名簿のデータ数よりも少ない場合→ <Q患者保険登録_MySQL追加>が途中で終了する場合。 患者保険登録はMyProdocで新たに作成されたテーブルであり、 そのデータは患者登録名簿から作成されます。 患者登録名簿のデータ→患者保険登録 という構造になっています。 従って通常は、 (患者登録名簿のレコード数=患者保険登録のレコード数)となります。 患者登録名簿の、資格取得年月日などの日付に異常な日付がある場合などに、 異常な日付のあるレコードのところでデータ作成が失敗します。 この場合は、患者登録名簿のレコードを調べて日付の修正をしてください。 □<atom-support.mdb>の診療録のデータ移植に失敗するとき、 @<システムで予約されたエラーです>というメッセージがでる場合は、 カルテ番号にマイナスのカルテ番号が入力されている場合があります。 このとき、MySQL側のデータは0になっています。 すなわち最初からすべてのレコードの移植ができません。 この場合は、<サポート.mdb>の中の、診療録を開いて、カルテ番号を昇順・降順にして マイナスのカルテ番号を探してください。昇順では先頭に、降順では末尾に表示されます。 マイナスのカルテ番号のレコードは削除してください。 AODBCのduplication error は一意であるべきフィールドの値が重複していることを意味しますので、 このような場合、MySQLのテーブルに追加することはできません。 <診療録>のカルテ番号に重複がある場合は、重複行を削除してください。 *テーブルの中のカルテ番号などの重複したコードを探す方法は下記をご参照ください。 (テーブル:<薬剤対応表>→<診療録> フィールド:<コード>→<カルテ番号> に置き換えます) □特定のMySQLのテーブルが移植数が0になっている場合。 上記@の場合の様に、<入力番号>のようなオートナンバー型の項目の 値がマイナスになっている可能性がありますので、 対応するACCESSテーブルを開いて、オートナンバー型の項目の先頭行と最終行に マイナスの値がないかどうか確認してください。 □薬剤対応表のデータ移植に失敗する原因と対策 ACCESSのテーブル<薬剤対応表>の中のフィールド<コード>は本来重複したコードの存在が許されませんが、 それにもかかわらず重複したコードが入力されているのが原因です。 ACCESSのテーブル<薬剤対応表>の中の重複したコードをさがして、複数の行のうちのひとつを削除してください。 テーブルの中の重複したコードを探す方法 @以下の手順で、集計クエリーを作成して実行します。 Aデータベースウインドウから新規クエリーを作成します。 Bテーブルを選択します(この場合はテーブル<薬剤対応表>) Cテーブルの中のフィールド<コード>を選択してダブルクリックします。 Dもう一度テーブルの中のコードを選択してダブルクリックします。 クエリーの下部に<コード>が2個表示されている状態になります。 DACCESSのメニューから、表示→集計を選択します。 E集計欄が表示されますが、 左側の<コード>をグループ化、 右側の<コード>をカウント、に変更します。 F右側の<コード>の抽出条件欄に >1 と入力します。 Gクエリーを実行します。 これにより、複数入力されたコードが判明します。 □検査結果(特殊検査)のデータ移植に失敗する原因と対策 MyProdocのデータベース<datum>の中の、 テーブル<検査結果(特殊検査)>、 の中のフィールド<カルテ番号>が重複データを許さない場合にエラーが発生します。 確認・変更方法は以下の通りです。 @かねやんを起動する A<datum>のテーブル<検査結果(特殊検査)>をダブルクリックする。 B表示されたウインドウの中のフィールド<カルテ番号>の左に青いキーがあれば、 重複を許さない設定、赤いキーになっていればカルテ番号の重複を許す設定です。 C青の場合、画面の下部のキーリストの行が3行あるとおもいますが、最後の行を削除してください。 D赤の場合はそのままで結構です。 E画面を閉じて、かねやんを終了します。 Fatom-datum.mdbを開き、データベースウインドウから、MySQLのテーブル<検査結果(特殊検査)>をいったん削除します。 G次に、データベースウインドウから、MySQLのテーブル<検査結果(特殊検査)>を再度リンクしなおします。 □プロフェッショナルドクターで入力されていた約束入力の文章がMyProdocでは途中で途切れている場合の原因と対策。 Datumのテーブル<カルテ定型文集>のフィールド<時期>・<症状>・<所見>のデータ型が varchar(250)などのようにtextになっていない場合にこの現象が起きます。 これは、比較的早い時期にアップロードしたMySQLのデータベースファイルをそのまま使用された場合の症状です。 文字列の収容サイズが小さいためです。 修正するには、 @かねやんを起動します。 Asupportの<カルテ定型文集>をダブルクリックします。 B表示される <テーブルリスト データベースsupportテーブル カルテ定型文集> と記載されたウインドウでフィールド名 <時期>の行をダブルクリックします。 Cフィールドの変更画面が表示されますので、 タイプをtextに変更し、nullにチエックを入れます。 更新ボタンをクリックします。 D<症状>・<所見>に関してもBCと同じ処理を行います E<テーブルリスト データベースsupportテーブル カルテ定型文集>のウインドウを閉じます。 Fatom-support.mdbを開き、MySQLのテーブル<カルテ定型文集>をいったん データベースウインドウのテーブルから削除します。 G再度、MySQLのテーブル<カルテ定型文集>をリンクします。 H再リンク後、<カルテ定型文集>のみのデータ移動をおこなってください。 *<カルテ定型文集>だけでなくほかのテーブルのデータ移動も行うと、 最近の電子カルテのデータが消滅することになりますから、かならず <カルテ定型文集>のみのデータ移動だけを行うようにしてください。 Iなお、このようにデータベースのテーブルのデータサイズの変更などを行った場合は、 MyProdocでもそのテーブルをいったんリンクを削除後、再度リンクし直す必要があります。 ----------------------------------------------------------------------------------- ■MyProdoc起動時の問題 □MyProdocをWindows2000 SP-4上でACCESS2000を起動して各種異常動作がでるとき。 ACCESSのJetエンジンSP8をマイクロソフトのダウンロードサイトからダウンロードして、インストールしてください。 Windows2000用JetエンジンSP8は、<Windows2000-KB829558-x86-JPN.exe>です。 □MyProdocをWindowsXPのSP-1で稼働するときに、薬剤などのコンボボックスの選択に時間がかかる場合、 WindowsXPをSP-2にしてください。 □MyProdocを起動時に”致命的エラー”で起動出来ない場合。 この場合は テーブルリンクのないファイル<=notablemyprodoc.mdb>を使って、 datum,master,support,imageの順にODBCテーブルをリンクしてください。リンクの方法については (参考)テーブルリンクの方法(1637KB)をご参照ください。 □MyProdocは起動まえに必ずコンパイルを行ってください。 データ移行後、起動が遅い場合、マスターをスクロールしてみると遅いなどの場合は、 @myprodoc.mdbのコンパイル をかならず行ってください。 また、通常MyProdocのファイルをダウンロードして使用する前には、 必ずコンピュータの内部環境での性能をフルに発揮させるためにコンパイルを行ってください。 修正されたオブジェクトをインポートして置き換える方法でファイルを使用される場合も必ず、 コンパイルをおこなってください。 通常のMyprodoc電子カルテの運用ではボタンをクリックすると瞬間的にフォームが開く、という状態が正常です。 □myprodoc.mdbのコンパイルの方法→データベースウインドウ→モジュールを選択→デザインボタン→ VBAのメニュー→デバッグ→myprodocのコンパイルを選びます。 コンパイル終了後、 VBAのメニュー→ファイル→myprodocの上書き保存を選びます。 □MyProdocを起動するときに、コンパイルエラーが発生する場合は、 @データベースウインドウのモジュールを選択し、→デザイン→VBAのメニューのツール→参照設定→で accountがチエックが入った状態で表示されているかを確認してください。 もし、表示されない場合は、 A同じ参照設定画面の右上部の<参照(B)>と表示されたボタンをクリックします。 B<ファイルの場所>ダイアログボックスで、ファイルの種類をMicrosoft Access データベース(*.*)に変更します。 CC:\Myprodoc\account.mdb を選択し、開くボタンをクリックします。 以上でaccountが参照される状態になります。 utilityもチエックが入っているかどうかも確認してください。 もしutilityが表示されていないようであれば、つぎの記述をご参照の上同じ処理を行ってください。 □ACCESS2002・2003でMyProdocを起動するときに、コンパイルエラーが発生する場合は まずはじめに起動時の設定で、排他的に起動する必要があります。 排他的に起動する方法は、ACCESS2のメニュー→ツール→オプション→詳細→規定の開くモードを<排他モード>にします。 いったん終了後再度起動すると、排他的に開くことができます。 @データベースウインドウのモジュールを選択し、→デザイン→VBAのメニューのツール→参照設定→で utilityがチエックが入った状態で表示されているかを確認してください。 もし、表示されない場合は、 コンピュータのOffice関連フォルダーから、<utility.mda>を検索して、その所在を確認しておきます。 A同じ参照設定画面の右上部の<参照(B)>と表示されたボタンをクリックします。 B<ファイルの場所>ダイアログボックスで、ファイルの種類をMicrosoft Access データベース(*.*)に変更します。 Cあらかじめ所在を確認しておいた<utility.mda> を選択し、開くボタンをクリックします。 以上でutilityが参照される状態になります。 □MyProdocをコンパイルした時に、コンパイルエラーが発生する場合、 accountやutilityにチエックがあり、しかも<参照不可>と記載されている場合があります。 この場合は以下のようにします。 @<参照不可>になっているaccountやutilityのチエックをいったんはずします。 A参照設定画面の右上部の<参照(B)>と表示されたボタンをクリックします。 Baccount.mdb/utility.mdaをさがして、開くボタンをクリックします。 C参照設定画面で改めて表示されるaccountやutilityにのチエックを入れます。 DVBAのメニュー→デバッグ→コンパイル、し、VBAのメニュー→ファイル→保存、します。 □通常、myprodoc.mdbを使用するために必要な参照設定の中身は 以下のようになります。 @Visual Basic For Applications AMicrosoft Access 9.0 Object Library Butility COLE Automation DMicrosoft DAO 3.6 Object Library EMicrosoft ActiveX Data Object 2.1 Library Faccount ADEのバージョンはコンピュータの環境によりバージョンの違いがあります。 DとEの順序がひっくり変わったらコンパイルできません。すなわちDAOが優先されます。 --------------------------------------------------------------------------- ■MyProdocは起動するが、特定のフォームが開かない。この場合は以下のようにしてください。 (□MyProdocをWindows2000上で起動時に”致命的エラー”で起動出来ない場合もこの処理で解決可能です) @空のMDBファイルを作成します。 必ず空のMDBファイルを作成し、notablemyprodoc.mdbなどを使用しないようにしてください。 A最新のmyprodoc.mdbから、その中のすべてのオブジェクトをインポートします。 オブジェクトは次の通りです。 テーブル クエリー フォーム レポート マクロ モジュール 以上の順にすべてを選択した後にインポートしてください。 オブジェクトのインポートの方法は、以下の通りです。 *空のmdbファイルのデータベースウインドウの<テーブル>を選択する *ACCESSのメニュー→ファイル→外部データの取り込み→インポートで表示されるインポート画面のファイルの場所で、 上記最新のmyprodoc.mdbのある場所を探して、選択し、<開く>ボタンをクリックします。 *次に開く<オブジェクトのインポート>画面で<すべて選択>ボタンをクリックします。→OKボタンをクリックします。 *<テーブル>が終了したら、次にクエリー→フォーム→レポート→マクロ→モジュールの順に、 上記と同様の方法でインポートします。 Bインポートが終了したら、データベースウインドウから、<モジュール>を選んで<デザイン>ボタンをクリックします→ VBAの画面が表示されます。 VBAのメニュー→ツール→参照設定 をみて、 @Visual Basic For Applications AMicrosoft Access 9.0 Object Library Butility COLE Automation DMicrosoft DAO 3.6 Object Library EMicrosoft ActiveX Data Object 2.1 Library Faccount 以上のようになっていなければ設定してください。 ADEのバージョンはコンピュータの環境によりバージョンの違いがあります。 その後、 VBAのメニュー→デバッグ→コンパイル を行い、終了したら、 VBAのメニュー→ファイル→上書き保存を選択します。 この処理により、ご自分のコンピュータ環境で新しいファイルが構築されたことになります。 これで処理の異常がでれば、ACCESSを再インストールしてみてください。 --------------------------------------------------------------------------- ■ @<カルテ画像2>・<画像ファイル登録2>などのフォームをインポートするときに、 ActiveXコントロールを登録するようにとのメッセージがでる。 Aあるいは、<カルテ画像2>・<画像ファイル登録2>から<画像ファイル>選択ボタンをクリックすると、”オブジェクトはこのプロパテイまたはメソッドをサポートしていません”メッセージでエラーになる。 この現象は特にWindows XPで発生します。 MyProdocでは画像登録は、従来の、<カルテ画像>・<画像ファイル登録><画像情報登録(患者別)>などではなく、 <カルテ画像2>・<画像ファイル登録2>・<画像情報登録2(患者別)>の様な2のつくフォームで行います。 この場合、画像そのものをデータベースに取り込むのではなく、 画像のパス+画像名をデータベースに登録し、後でそのファイルを再生するという方法を使用します。 さて、ご質問の場合、原因はそのコンピュータ上のACCESS2000で、 「Microsoft Common Dialog Control,version 6.0」の登録がされていないからです。 インポートしたフォームの「画像ファイル選択」ボタンを押すと、 ファイルの選択のためのダイアログボックス表示されるはずですが、 表示されるためには、ACCESS上で「Microsoft Common Dialog Control,version 6.0」の登録されていることが必要です。 Accessのメニュー「ツール」→「ActiveXコントロール・・」で、利用可能なコントロールに 「Microsoft Common Dialog Control,version 6.0」というのがあるかどうか、確認してみて下さい。 これには、MyProdocなどを起動して、特定のフォームをデザインビューにしていて、 ツールボックスの中の<コントロールの選択>ボタンを選んで表示します。 Microsoft Common Dialog Control,version 6.0の本体は「ファイル名:comdlg32.ocx」というものです。 このファイルはWin2000では、C:¥WINNT¥System32の中にあります。 Windows XPではC:¥Windows¥System32の中にあります。 「Microsoft Common Dialog Control,version 6.0」が見つからなければ、  <comdlg32.ocx>をOffice、Access2000のCDの中を検索してみてください。 あるいは他のコンピュータ上からコピーして、問題のコンピュータの同じ場所にコピーしてもよいでしょう。 そのご利用可能なActiveXのコントロールとして登録してください。 なお、この作業は、フォームのインポートが終了した後に行っても問題ありません。 *上記作業で、comdlg32.ocxをさがして、登録後に確認したら、 「Microsoft Common Dialog Control,version 5.0」である場合はやはりエラーが発生しますので、 「Microsoft Common Dialog Control,version 6.0」のcomdlg32.ocxを別のコンピュータなどから探す必要があります。 バージョンの確認方法は、<comdlg32.ocx>を選択後、右クリックして、プロパテイを選択し、 バージョン情報タブをクリックして確認します。 Windows XPでは古いバージョンのcomdlg32.ocxがあることが多く、そのためcomdlg32.ocxが存在して、 「Microsoft Common Dialog Control,version 6.0」をACCESS2000に登録しているにもかかわらずエラーが発生する場合は comdlg32.ocxのバージョンが古いためですので、他のコンピュータからこのファイルを持ってきて入れ替えると解決します。