3

アクセス97アプリケーションを2010にアクセスするようにアップグレードしました

新しいフォームを作成すると、1クリックですべてのフォームに適用できるマスターデザインのようなものがあります。この機能は私の古いフォームでは機能しません(何も変更されていません)。

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

空のデータベースから始めて、すべてをインポートしようとしました。ボタンが丸くなり、フォントが良くなったため、フォームの見栄えが少し良くなりましたが、マスターデザインでラベルの背景を変更することはできません。

色は、すべてのラベルのプロパティにハードコードされているようなものです。それらをすべて選択して変更することはできますが、すべてのフォームに対して行う必要があります。古いフォームでマスターデザインを使用する方法はありますか?

ありがとうございました。

4

3 に答える 3

4

テーマの前の色は、次のプロパティを使用してラベルに適用されます。

ForeThemeColorIndex
ForeTint
ForeShade

私が知る限り、テーマが適用されていない別のデータベースからフォームをインポートすると、一部のコントロールではForeThemeColorIndex値が-1に設定されます。これは基本的に、これらのコントロールが「ハードコーディングされた」色を持っていることをAccessに伝えます(ただし、VBAにはありません)。

この問題を解決する唯一の方法は、VBAを使用して各フォームをデザインビューで開き、フォームのすべてのコントロールをループすることです。コントロールがラベルコントロール(または問題が発生している他のコントロール)の場合は、 )、正しいテーマ関連のプロパティを使用してテーマの色を適用します。テーマの色を使用するようにコントロールを設定すると、テーマの変更または適用は問題なく機能するはずです。

これらのプロパティのリストは次のとおりです。これは必ずしも包括的ではありません。ラベルコントロールのプロパティを調べる基本的なループを使用してこれをプルしました。これらのプロパティは、テキストボックスコントロールの場合と同じです。このリストには、lblLastNameという名前のラベルコントロールにテーマの色が正常に適用されています。

lblLastName: BackThemeColorIndex=1
lblLastName: BackTint=100
lblLastName: BackShade=100
lblLastName: BorderThemeColorIndex=0
lblLastName: BorderTint=50
lblLastName: BorderShade=100
lblLastName: ThemeFontIndex=1
lblLastName: ForeThemeColorIndex=0
lblLastName: ForeTint=75
lblLastName: ForeShade=100
lblLastName: GridlineThemeColorIndex=1
lblLastName: GridlineTint=100
lblLastName: GridlineShade=65

これに関するMicrosoftのドキュメントへのリンクは次のとおりです。http: //msdn.microsoft.com/en-us/library/office/ff195247.aspx

于 2012-10-29T21:08:50.800 に答える
1

デザインモードでフォームを開いてから、Ctrlキーを押しながらaキーを押してすべてのオブジェクトを選択してください。次に、[デザイン]タブのリボンからテーマをクリックし、写真が示すようにテーマを選択します。

mdbを使用している場合、このオプションは無効になるため、このオプションを使用するには、新しいaccDB形式を使用する必要があることに注意してください。

于 2012-10-29T18:13:51.380 に答える
-2

これを回避する1つの方法は、(古い)AutoFormatコマンドをクイックアクセスツールバーに追加することです。テーマ機能はフォームに追加されませんが、フォームをかなり迅速かつ一貫した方法で再フォーマットするための迅速な方法です。

于 2018-08-23T17:03:12.597 に答える