2016-07-26 6 views
0

私は、アクセス権にコンパイルされているかどうかを自動的に検出して、apptitleの名前を変更するアクセスフロントエンドを持っています。私は次のコードを使用してい :私は/テストを開発している私の.accdbを起動するとアクセスVBA - .accdeのアプリケーションタイトルを起動時に変更しないでください。

If CurrentDb.Name Like "*.accde" Then 
    CurrentDb.Properties("AppTitle").value = "Release Client" 
    Application.RefreshTitleBar 
    Else 
    CurrentDb.Properties("AppTitle").value = "Test Client" 
    Application.RefreshTitleBar 
    End If 

を、すべてが完璧に動作します。私は手動でapptitleを変更し、閉じて再オープンすることができ、それをTest Clientに正しく名前を変更します。しかし、いったんコンパイルすると、新しくコンパイルされた.accdeを起動すると、apptitleの名前は変更されません。私はAutoExec関数から最初のフォームのOnOpenイベントにコードを移動しようとしました。また、最初のフォームのOnTimerイベント(1の設定)にも移動しました。

イミディエイトウィンドウでコードを手動で実行すると、すべてが適切に解決されるため、コードは構文的にも論理的にも正しいように見えます。このコードを.accdbで実行してから実行する.accde。

ご協力いただきありがとうございます。 - アッシャー

+0

スタートアップフォームのフォームのロードイベントからAccess 2010でコードをテストしました。 * ACCDEのアプリタイトルとして* Release Client *、ACCDBの* Test Client *が表示されました。なぜあなたのために働いていないのか分かりません。 :-( – HansUp

+0

データベースを開くたびに再度アプリのタイトルを設定する必要がありますか?ACCDBの* Test Client *に設定してください* ACCD ** E **を作成した後、* Release Client *その後、ACCDEのアプリのタイトルをもう一度変更する必要がありますか? – HansUp

+0

ああ、私は確かに*持っていないが、私はできることを期待していたので、名前を変えずに覚えておく必要はない。私は現在、Access 2016で作業しています。違いがありますか? –

答えて

1

私は間違っていましたが、最も基本的な愚かさでした。私は1つの場所を指していたランチャーを持っていましたが、その新しい場所にコンパイルを更新するのを忘れていました。 :) HansUpが述べたように、私の元のコードは、Form Loadでうまくいくことを意味します。

関連する問題