• 締切済み

Access2000:コマンドボタンの不具合

ウィザードで作成したコマンドボタンが、環境によっては下記のエラーメッセージが表示され機能しません。 ************ イベントプロパティに指定した式クリック時でエラーが発生しました:xxx(ファイル名)がOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました。 *マクロ名、ユーザー適宜関数名、[イベントプロシージャ]以外の式が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 ************ ボタンは「フォームを開く」で特定のレコードのみ表示するように設定したものです。(ウィザードでできること以外は設定してありません) OS/Accessのバージョンが同じPCで開いても、一つは問題なく機能するが、もう一つは上記のエラーが出たりします。 今まで特に問題がなかった自分のPCもオフィスを再インストールしたところ、上記の状態になってしまいました。 ボタンを作り直しても同じ状況です。 コマンドボタン、ファイル、アクセス、PCのどの設定にどのような問題があるのか分かりましたら教えていただけないでしょうか。よろしくお願いいたします。

みんなの回答

  • laputart
  • ベストアンサー率34% (288/843)
回答No.2

今試しましたが特に問題はなさそうです。 stLinkCriteria = "[No]=" & Me![No] の行を ' stLinkCriteria = "[No]=" & Me![No] のように修正するとこの行は無視されますので 指定フォームに関するレコードセットが全て開きます。 'をはずすとフィルターがかけれます。 --------------------- それとプログラムにエラー回避があるのですから エラーで止らずに動く(エラーメッセージの表示) と思うのですが.... ●実際プログラムが停止してしまうのですね。 その時デバッグボタンを押すとどの行が表示されますか? ●後デザインモードでコードを開いた状態で、メニューの中央あたりに「デバック」「.... のコンパイル」 を実行してみること ●アクセスの修復、最適化を試す事 ●問題のPCで新しく空のデータベースを作ります インポートでテーブル、クエリー、フォーム、その他全てを選択します。 その新しいデータベースで実行するとどうなりますか?

cholodenko
質問者

お礼

●後デザインモードでコードを開いた状態で、メニューの中央あたりに「デバック」「.... のコンパイル」 を実行してみること こちらも試してみましたが、改善されませんでした。 何が原因なのかさっぱりわかりません....

cholodenko
質問者

補足

2度目の回答ありがとうございます。 ●実際プログラムが停止してしまうのですね。 その時デバッグボタンを押すとどの行が表示されますか? →[デバッグ]ボタンは表示されません([OK]のみ) ●後デザインモードでコードを開いた状態で、メニューの中央あたりに「デバック」「.... のコンパイル」 を実行してみること →これはまだ試していないのですが。(あとでやってみます) ●アクセスの修復、最適化を試す事 →終了のたびに最適化するよう設定しているので、効果はないようです。 ●問題のPCで新しく空のデータベースを作ります インポートでテーブル、クエリー、フォーム、その他全てを選択します。 その新しいデータベースで実行するとどうなりますか? →インポート直後は、機能しました!  ですが、一度閉じたあとに開くと同じ状態になります(T_T) このファイルのバックアップがいくつかあるのですが、そのすべてが同じ状況になってしまっているので、最新のファイルが問題というよりは、アクセス自体になにか問題があるのでは?と思っているのですが....

  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

フォームのデザインで小番戸ボタンをクリックして プロパティシートから「イベント」タブ「クリック時」に「イベントプロシ-ジャ」があると思います。 これを選択して右側のボタン ... をクリックすると コードが表示されると思います。 このコードをコピーして貼りつけてもらえませんか? (例 以下のように) 一度調べてみます コード貼付け例 ---------------------- Private Sub コマンド0_Click() On Error GoTo Err_コマンド0_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "PackingList" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド0_Click: Exit Sub Err_コマンド0_Click: MsgBox Err.Description Resume Exit_コマンド0_Click End Sub ----------------------

cholodenko
質問者

お礼

2回も回答をくださり、ありがとうございました。 結局、ボタンが機能していないフォーム自体を作りなおしました。まったく同じやり方で作ったのに、新しいフォームのボタンについては問題なく機能しました。 ファイルは使えるようになったけれど、結局原因はわかりませんでした。。。。

cholodenko
質問者

補足

ご回答ありがとうございます。 まだ上記コードを貼り付けてはいないのですが、現在のコードは下記のようになります。 ************************** Private Sub コマンド18_Click() On Error GoTo Err_コマンド18_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "開きたいフォーム名" stLinkCriteria = "[No]=" & Me![No] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド18_Click: Exit Sub Err_コマンド18_Click: MsgBox Err.Description Resume Exit_コマンド18_Click End Sub ********************************* 教えていただいたコードと異なるのは stLinkCriteria = "[No]=" & Me![No] の部分だけですが、これは特に問題なさそうなのですが... このコードを削除すると、すべてのレコードが表示されるだけですよね。

関連するQ&A

  • アクセスのコマンドボタンについて

    アクセスについて教えて下さい。 コマンドボタンで、フォームのデータをワンクリックで開くように設定したいのですが、コマンドボタンウィザードを使って、 フォームの操作→フォームを開く→フォームを指定 という操作でボタンを作りました。 ですが、ボタンをクリックして操作しようとすると、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました:名前が適切ではありません:(フォーム名)_Click   *マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。   *関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージが出てきて、フォームを開くことができませんでした。 ウィザードだけではフォームを開くボタンを作成することはできないのでしょうか? 何か対処があれば教えて下さい。 よろしくお願いいたします。

  • Accessのメニュー画面

    windows XP・Access2330でデータベースを作成し、メニュー画面にフォームを開くボタンをコントロールウィザードを使用してコマンドボタンで作ったのですが、開こうとすると「イベントプロパティに指定した式 クリック時でエラーが発生しました:不正な文字です。」*マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。*関数、イベント、マクロの評価でエラーが発生しました。というエラーがでて開けません。フォーム自体は開いてデータも入力する事が出来、データベースとしてはちゃんと動いてくれているのですが・・・何が原因でどう対処したらいいのか教えていただけますか?

  • Accessにてコマンドボタン時にエラー

    Access2003にてメインフォームに様々なボタンを作成し、処理を実行させようとしています。 「クリック時」イベントにマクロを指定する分には問題ないのですが、 コードを選択して実行させると 「イベント プロパティに指定した式 クリック時 でエラーが発生しました:Microsoft AccessがOLEサーバーまたは ActivXコントロールと通信している時にエラーが発生しました。」 の表示がでます。 一旦、コマンドボタンを削除して、1からやり直してみたのですが うまくいきません。 解決方法をご教授ください。

  • access2002 コマンドボタンウィザードでフリーズ

    access2002を使っています。 新しいPCにインストールして半年つかっていましたが、今日、コマンドボタンを作る際にフリーズしてしまいました。 どうやら新しいPCにインストールしてからコマンドボタンを作る機会がなかったのできづかなかったようです。 新PCはwindowsVISTAでPCにもともとoffice2007が入っていまいたが、 accessが入っていなかったので、 所有していたofficeXPのaccessだけインストールしたという環境です。 この環境がまずいのでしょうか? フリーズの状況は、コマンドボタンを配置する時にウィザードが起動し、れーコードの移動やらレコードの操作を選べるようになっていて、それを一つでもクリックすると100%フリーズします。 フリーズ時に出るメッセージ//////////////////////// microsoft windows Microsoft Accessは動作を停止しました。 問題の詳細 問題のイベント名 APPCRASH アプリケーション名 MSACCESS.EXE ・ ・ ・ 障害モジュールの名前 StackHash_3842 //////////////////////////////////////////////// コマンドボタンのウィザード以外では今のところフリーズはなく動作しています。 別のデータベースでも試しましたが同様にフリーズします。 それ以外は機能 よろしくお願いいたします。

  • 2003アクセス → 2010移行のトラブル

    アクセス2003で作成したものがアクセス2010では全く使用できなくなりました。 どのボタンを押しても下記メッセージがでます。 ●イベントプロパティに指定した式 クリック時 エラーが発生しました。 ・修正候補 ステートメントの最後 ・マクロ名、ユーザー定義関数名、(イベントプロシージャ)以外の式が指定されています。 ・関数、イベント、マクロの評価でエラーが発生しました。 ●ヘルプを表示すると  このエラーはイベントのロジックの場所を評価できない為にイベントを実行できなかった為に発生します。例えば、フォームの OnOpen/開く時”” プロパティが=[フィールド]に設定されている場合、イベントが開始されたときに、マクロまたはイベントの名前が実行対象として予期されるため、このエラーが発生します。 コードを見ると赤くなっているのは下記だけだったのですが、他にも問題があるような気がします。。。。 Private Sub 見積書(少数点)ボタン_Click() End Sub Private Sub 報告書(少数点)ボタン_Click() End Sub ご教授宜しくお願い致します。

  • ACCESSエラー「モジュールがありません」

    ACCESS2000でテーブルとフォームを作っていたら下記のエラーメッセージが出てきました。 「実行時エラー'2001';直前の操作はキャンセルされました。」 その後、 「イベントプロパティに指定した式 クリック時でエラーが発生しました:モジュールがありません。※マクロ名、ユーザー定義関数名、[イベントプロシージャ]以外の式が指定されています。※関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージもでてきました。また、フォームが開かなくなり誤作動をし始めたのですが原因がわかりません。どなたか回避策をご存知ないでしょうか?

  • Access2002 イベントエラー

    Access2002、VBAを使って作成したファイル(A)(B)を共有フォルダにおき、数名に(A)をダウンロードして使ってもらっています。ファイル(A)がフロントでファイル(B)がデータ格納になっています。最近、新しいユーザを追加しました【(A)のユーザ追加画面から入力し、(B)データへの追加。】ところが、私や既存ユーザのPCからその新しいユーザでアクセスできるのに、その新しいユーザーがご自身のPCからアクセスすると下記のようなコメントがでてアクセスできません。 ===== イベントのプロパティに指定したクリック時でエラーが発生しました。 マクロ名・ユーザー定義関数名・イベントプロシージャー以外の式が指定されています。 関数・イベント・マクロの評価でエラーが発生しました。 ===== これは、彼女のPCに問題があるのでしょうか?それとも私の方で何か別に設定しなくてはならないのでしょうか?

  • ファイルを開くとエラーが起こり、イベントが機能しな

    ファイルを開くとエラーが起こり、イベントが機能しないです。 オフィス2003を使っていて、mdbファイルです。 (私が作ったファイルではありません) アクセスを起動したら、画像のようなダイアログが表示されました。 ------------------------------ イベントプロパティに指定した式 クリック時 でエラーが発生しました Returnに対応するGoSubがありません。 *マクロ名、ユーザー定義関数名 {イベントプロシージャ}意外の士気が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 このエラーは、Microsoft Office Access でイベントのロジックの場所を評価できないために イベントを実行できなかった場合に発生します。 たとえば、フォームの "OnOpen/開く時" プロパティが =[フィールド] に設定されている場合、イベントが開始されたときに Access ではマクロまたはイベントの名前が実行対象として予期されるため、このエラーが発生します。 ------------------------------ と表示されました。(1回限り) 「すべてのAccessオブジェクト」を見ると ・テーブル ・クエリ ・フォーム ・モジュール があるので、モジュールが原因だと思います。(マクロはない) フォームは一応開いたのですが、コマンドボタンやコンボボックスをクリックすると今度は違うエラーが出ました。 内容は、 ------------------------------ 「イベント プロパティに指定した式 読み込み時 でエラーが発生しました。 オブジェクトまたはクラスがこのイベントセットをサポートしていません。 *マクロ名、ユーザー定義関数名 {イベントプロシージャ}意外の士気が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 プロパティまたはメソッドにアクセスしようとして、Visual Basic for Applications (VBA) で問題が発生しました。次のいずれかの問題である可能性があります: 参照が見つからない。 見つからない参照を復元するには、マイクロソフト サポート技術情報の記事 283806 を参照してください。 式が正しく指定されていない。 イベント プロパティで使われるすべての式が正しく指定されているかどうか確認してください。 モジュールでユーザー定義関数が sub または private 関数として宣言されている。 式でユーザー定義関数を解決できるのは、ユーザー定義関数が次のいずれかの関数として宣言されている場合のみです: モジュール内の public 関数 カレント フォームまたはレポートのコード モジュール内の public または private 関数 Access のセキュリティが "中" または "高" に設定されていて、Microsoft Jet 4.0 SP8 アップデートがインストールされていない。 セキュリティが "中" または "高" に設定されている場合、Access が正しく機能するには、最新のバージョンの Jet 4.0 がインストールされている必要があります。Windows Update で最新のバージョンの Microsoft Jet を入手してください。 ------------------------------ との事です。(添付参照) ファイルを一度閉じて開きなおしたら、最初のエラーは表示されなくなりましたが2回目のエラーは表示されます。 VBE画面を開いて、デバッグ→ファイル名のコンパイルを実行しても、何もエラーになりません。 全てのイベントを実行しようとすると(どnのコマンドボタンを押しても)同じエラーが出ます。 VBAコードにブレークポイントを設置しても、イベントが発生されないため、ブレークポイントに辿り着けません。 全てのVBAコードをコメントブロックしてもエラーになります。 どうやって治せば良いでしょうか? ご教授よろしくお願いします。

  • アクセスの最適化/修復コマンド

    アクセスの「ツール|データベースユーティリティ|最適化/修復」というコマンドですが、これってデータベースを開くたびに自動で行う事は出来ないのでしょうか? データを何も変更せずに閉じて開いて中を見ているだけですが、マクロを実行すると頻繁に「イベント プロパティに指定した式 クリック時でエラーが発生しました」というメッセージが出ます。最適化/修復をやればなおるのですが、いちいち面倒です。

  • ACCESS2003をWinXPからWin7に移行したが動作しない

    WinXPのACCESS2003で業務アプリを作成して運用していましたがWin7に移行して実行した所、次のエラーになり実行できません。 (ちなみにWin7にACCESS2003は入っております。)   「イベントプロパテイに指定した式 フォーカス取得時でエラーが発生しました: オブジェクトまたはクラスがこのイベント セットをサポートしていません。 *マクロ名、ユーザー定義関数名、[イベントプロシージャ]以外の式が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。」   このメッセージの後は終了するしか有りません。 どなたか教えていただけますでしょうか。 よろしくお願いします。