3

ユーザーがマクロと vba を含む Access 2007 データベースを起動すると、セキュリティ警告が表示されます。ユーザーにこの警告に対処してもらいたいので、コンテンツが有効になっていない場合、ユーザーはデータベースを使用できないはずです。

ここで、AutoExec(メニューのように機能するフォームを開く) という名前のマクロを使用します。このマクロは、ユーザーがセキュリティ警告に対処する前に実行されます。しかし、コンテンツが有効になっているかどうかを確認したいのですが、そうでない場合は、コンテンツを有効にする必要があることをユーザーに通知するフォームを表示します。

だから私が実際に求めているのは、これをどのように行うかです:

  1. vba とマクロが有効になっていない場合-> フォームの「情報」を表示
  2. vba とマクロが有効になっている場合-> フォーム「スタート メニュー」を表示
4

6 に答える 6

6

わかりました、しばらくすると解決策が見つかりました。私を正しい道に導いてくれた答えに感謝します。

Microsoft のこの記事は非常に役に立ちます。

AutoExec マクロには、次の 2 行があります。

1 行目:Conditions: [CurrentProject].[IsTrusted]=False次に、開きたいウィッチ フォームを選択します。この場合は、「セキュリティ警告フォームに関する情報」です。

2 行目: Conditions: [CurrentProject].[IsTrusted]=True「スタート メニュー フォーム」を開きます。

そしてそれだけです!

于 2009-12-13T16:18:10.447 に答える
1

私のソリューションを追加するだけです-私はこの問題に対処していました。

デフォルトでは、データベース オプションでは、フォーム「notEnabled」で開くように設定されています。この「有効になっていない」フォームには、「コンテンツを有効にする」必要があることをユーザーに知らせるテキスト、画像、または何かを用意します。

このフォームのロード時イベントでは、VBA を配置して、ユーザーに表示する実際のフォームを開き、「notEnabled」フォームを閉じます。

このように、ユーザーがデータベースを信頼できるものにせずにコンテンツを有効にしてデータベースを開くと、その方法を説明するフォームから先に進まなくなります。信頼できるようになるとすぐに、フォームのオンロード イベントが発生し、コンテンツが有効になっている任意のフォームにユーザーをリダイレクトします。

ユーザーがデータベースを開いて、既にファイルを信頼している場合、ファイルを信頼するように指示するフォームは表示されません。

于 2013-01-16T18:31:41.023 に答える
1

コンテンツが無効になっている場合、コードを実行できないため、チェックできません....

于 2009-12-05T13:44:47.183 に答える
0

これを回避するには、AutoExec マクロで IsTrusted フラグを TRUE に設定します。「既存の Access アプリケーションを Access 2007 に移行する」を参照してください-- IsTrusted を検索して、その処理方法の説明の核心にたどり着いてください。

于 2009-12-06T23:19:12.560 に答える
-1

まだテストされていない提案をする理由がわかりません。私の解決策は簡単です:

If: [CurrentProject].[IsTrusted]=False RunMenuCommand: CloseDatabase

そうしないと

If: [CurrentProject].[IsTrusted]=True RunCode: (最初に実行したいコードまたはマクロをここで実行します)

セキュリティ警告が発生している場合、これは基本的にデータベースを閉じます。そうでない場合は、問題なく開きます。管理者であるユーザーは、データベースにアクセスするユーザーのコンピューターのマクロ セキュリティ レベルを下げる必要があります。このマクロは、他のマクロとは異なり、Access が必要とするものと一致するため、実際に実行されます。

どういたしまして!

于 2013-05-05T14:30:38.290 に答える