Accessがプログラムへのコマンドを受信できないと報告するのはなぜですか?


9

Windows 7にアップグレードしたところ、MS Officeを再インストールした後、興味深いエラーが発生しました。データベースをクリックすると、「コマンドをプログラムに送信するときに問題が発生しました」というポップアップメッセージが表示されますが、ファイルアプリケーションは引き続き起動し、適切なデータベースが開きます。

このようなものを見たことがありますか?

この問題を調査して修正するにはどうすればよいですか?

注: ゾーンアラームは使用していません。この問題に関するほとんどのオンライン検索は、ゾーンアラームの使用に関する問題を説明するさまざまなサイトとMSKB記事を返します

解決済み: Mihiのおかげで---レジストリキーの名前をddexecからNOddeexecに変更した後、問題は解消しました-DDEが壊れている理由はまだわかりませんが、今のところ十分に機能しています


データベースファイル自体またはそれへのショートカットをクリックしていますか?
JohnFx 2009

データベースファイル自体をクリックしています。
ノア

他のファイアウォールを使用していますか?
harrymc

標準のWin-7に含まれるファイアウォールのみ。また、ファイルはローカルドライブのMyDocumentsのサブディレクトリにあります
Noah

管理者としてログインしていますか?UACを完全にオフにしようとしましたか?
harrymc

回答:


2

この問題はありましたが、特定のOffice製品でのみ発生しました(ExcelやWordは機能しましたが、Accessはメッセージで失敗しました)。

Windows 7-64ビットで問題を修正した方法を次に示します(おそらくVistaでも機能します)。

注:このソリューションには、システムレジストリの編集が含まれます。レジストリを誤って編集すると、オペレーティングシステムが破損する可能性があるので注意してください。

Windows 7で提供されるレジストリエディター(Regedit)の使用

  • レジストリの拡張キーで現在の関連付けを確認します
  • HKEY_CLASSES_ROOT\.mdb (私はOffice 2007を扱っていましたが、興味のあるファイル拡張子エントリを見つけてください)
  • (Default)値のエントリを確認し、HKEY_CLASSES_ROOT参照しているキーを見つけます(私の場合、これはAccess.MDBFileです)
  • サブキーを見つけてshell削除します(上記の警告を参照)
  • 戻って、開きたいファイルを見つけます。これで、それを開くためのプログラムを選択するよう求められます。この時点で、ファイルを開くために使用するオフィスプログラムを見つけて完了します。

これを行った後に私の設定を確認Access.MDBFileしたところ、レジストリのキーが変更されていることに気付きCLSID、ファイルの関連付けの新しいホームを指すキーが含まれていました。

  • サブキーCLSID (私の場合HKEY_CLASSES_ROOT\Access.MDBFile\CLSID(Default)値はでした{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
  • findを使用してCLSID (中かっこを除く)を検索しました。検索を実行する前にLook at->の下を確認してください(私の場合はキー見つかりましたが、これは異なる場合があります。私の例は、32ビットバージョンのOffice 2007を処理する64ビットシステムですKeysHKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
  • この参照は、インプロセスサーバーを使用してアプリケーションを起動する「Microsoft Office Accessアプリケーション」への参照であり、この方法を使用してAccessファイルの関連付けを修正しました。

6

基本的に、このエラーは、ファイルの種類がDDE(同じコンピューターで実行されているアプリケーション間の古いWindows-3.xスタイルの通信プロトコル)を使用してファイルを開くように設定されている場合に表示されます。

エクスプローラーのフォルダーオプションのファイルタイプに表示されます(Windows 7の別の場所にありますが、管理者がどのファイルをどのプログラムで開くかを設定できる場所があります)。

その「DDEを使用する」オプションがチェックされている場合、Windowsはまずプログラムがすでに実行されているかどうかをチェックし、次に(実行されている場合)DDEメッセージ(「アプリケーション」、「トピック」、「メッセージ」の3つのテキストからなる)を送信します。 )。これにより、プログラムが既に実行されている場合でも、プログラムを再度開くことを回避できます。プログラムが実行されていないときは、通常どおり開始されます。DDE接続が失敗した場合は、あなたが言及したダイアログが表示され、通常通りプログラムを再び起動します。

したがって、最も簡単な修正は、データベースのファイル拡張子の "Use DDE"を無効にすることです(おそらく.mdbです)。これの唯一の欠点:データベースを開き、Accessが既に実行されている場合、WindowsはAccessの2番目のインスタンスを開きます。Accessの2番目のインスタンスは、最初のインスタンスに気づき、DDEメッセージを送信して終了します。I. e。不必要にAccessを起動しているため、一度に閉じることができます。しかし、最近は高速のCPUとハードディスクを使用しているので、これは許容できると思います:-)

より複雑な修正は、これらの設定に問題があるかどうか(間違ったトピックや間違ったアプリケーションなど)をチェックして修正することです。そのためには、DDE構成を比較できるように、ファイルを開くことができる別の(おそらく仮想)マシンにアクセスする必要があります。

編集:このウェブサイトによると、そのタブはVistaで削除されました。レジストリでいつでも手動で行うことができます。HKEY_CLASSES_ROOT\.mdbそのデフォルト値(たとえばmdbfile)を探し、そのデフォルト値(HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec)を調べます。


別の稼働中のマシンにアクセスできます。DDE構成をどこで比較すればよいですか?
ノア

@Noah:Windowsエクスプローラで、[ツール]-> [フォルダオプション]に移動します。[ファイルの種類]タブをクリックします。mdbファイルタイプを見つけます。Advancedを選択します。「開く」アクションをクリックし、「編集...」を選択します。これを別のワークステーションと比較する場合、他のワークステーションはDDEをうまく使用している可能性がありますが、ワークステーションは使用していないため、チェックを外して、それが機能するかどうかを確認してください(おそらく再起動後)。
アンディ

Windows 7には[フォルダーオプション]タブがありません
Noah

mydigitallife.info/2008/06/20/…によると、そのタブはVistaで削除されました。レジストリでいつでも手動で実行できます。HKEY_CLASSES_ROOT\ .mdbでデフォルト値(mdbfileなど)を探し、そのデフォルト値(HKEY_CLASSES_ROOT \ mdbfile \ shell \ open \ ddeexec)を確認してください...
mihi

この最後のコメントを回答に追加できますか。
ノア

2

Access 2002で見つけたソリューションは次のとおりです。他のバージョンのAccessでも同様です。

  1. オープンアクセス
  2. ツールをクリックします
  3. オプションをクリックします
  4. [詳細設定]タブをクリックします
  5. [DDEリクエストを無視する]の横のボックスをオフにします
  6. 接近アクセス

それは私のために働いた!「コマンドをプログラムに送信するときに問題が発生しました。」エラー。

Accessのバージョンが異なると、[DDE要求を無視する]オプションの記述が少し異なる場合がありますが、比較できるものを見つけることができるはずです。

これが同じ問題を抱えている他の人を助けることを願っています。


1

インストールされているofficeフォルダー内。excel / winword .exeを右クリックして、プロパティを選択します。互換性タブを選択し、「このプログラムを互換モードで実行する」がオフになっていることを確認します。



1

Access 2007の修正は次のとおりです。

  • Accessの左上隅にあるOffice「コイン」をクリックします。
  • 「アクセスオプション」を選択します
  • 「詳細」オプションを選択します
  • ボタンまでスクロールし、「DDE要求を無視する」のチェックを外します

レジストリをいじる必要なく、問題なく開くはずです。


0

このようなものを見たことがありますか?

エラーはこのMSKB記事に記載されているためです。また、ZoneAlarmに関連して言及されています。


それらのMSKB記事を読みましたが、ZoneAlarmはまったく使用していません。それはバニラWin7アップグレードです
ノア

私には解決策がありません、このエラーが非常に一般的であることを指摘するだけです。しかし、答えはせいぜいあいまいであり、それらの窓の謎の1つであるようです。:)

0

活動のログ:

コントロールパネルを使用してOffice 2007のインストールを変更し、Accessを削除しました。次に、コントロールパネルを使用して、Accessを追加し直しました。これは問題に影響を与えませんでした。

コントロールパネルを使用してOffice 2007のインストールを修復した後、再起動しました。これは問題に影響を与えませんでした。

注意:

  • ファイルをダブルクリックすると、問題が発生します。右クリックして[OpenWith]を選択し、[Access]を選択すると、問題は発生しません。
  • この問題はExcelでは発生しません

0

私は無分別ではありませんが、アクセス時にこのオプションでDDEコールを聞くことが無効になっている可能性があります。私はWordでこのオプションを見ましたが、Excelも優れていますが、アクセスを覚えていません。多分これを無効にするためのセキュリティ問題...


0

私はAccessを使用していませんが、スタートメニューの[最近]リストからドキュメントを開くときに(Wordショートカットメニュー項目の矢印を使用して)、Win7のExcelとWord(2007)で同じ問題が発生し始めました。DDEチェックボックスソリューションは、既にオフになっているため(私の知る限り、Wordには存在しません)、私には適用されませんでした。

私は問題を解決したと思われる解決策を見つけました:ドキュメントのショートカットの[プロパティ]ダイアログを開いたとき(コンテキストメニューから、以下のスクリーンショットを参照)、[開く方法]フィールドが何らかの形で変更されていることに気付きましたMicrosoft Word以外のアプリケーション。[変更]ボタンをクリックすると、このファイルを "Microsoft Office Word"に再度関連付けることができました(レジストリを変更する必要はありません)。

ここに画像の説明を入力してください


0

Access ADPファイルを備えたWindows 7でOfficeを使用しているときにこのエラーが表示される場合、問題はファイアウォールが原因である可能性があります。

Access 2007を搭載したWindows XPは、MSSQLサーバーとの通信にSMBを使用します。Access 2007を搭載したWindows 7は、TCP(標準SQLポート)ポート1433を使用してMSSQLサーバーにアクセスしようとします。Windowsファイアウォールまたはハードウェアファイアウォールがポート1433をブロックしている場合、3回接続を試み、3回目に失敗するとSMBに切り替えて正常に動作します。

SQL Serverを実行しているサーバーでTCPポート1433を開きます。

Windows 7がXPのようなSMBの代わりに最初にTCPポート1433を使用する理由を私は知りませんでした。


とにかく、mysqlとこの単語/ Excelアプリとの関係は何ですか?意味がわかりません...ごめんなさい。
gumuruh 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.