2011-03-25 11 views
1

QAにかなり大きなAccessアプリケーションがあります。私はいくつかの問題は、いくつかのlablesはいくつかの太字ではありませんが、このアプリが進化したことを考えれば驚くことではありません。私はフォームが各コントロールのプロパティを設定するために開くときに実行されるコードとは対照的に、一度実行され、コントロールプロパティを設定するいくつかのコードを記述したいと思います。私は後者をすることができますが、今日まで前者について本当に考えたことはありません。私はすべてのコントロールを循環する関数を書いて、ラベルのフォントウェイトを設定し、そのコントロールの値として保存するように、非常に多くのフォーム上の多くのlablesがあります。VBAを使用してmsアクセス制御プロパティに永続的に影響する

私は実際にプロパティを設定し、それを永遠に保存するコントロールをサイクリングしても問題ありません。誰でもこれをやった?

ご協力いただきありがとうございます。

答えて

3

私はこの部分的にカフをしたので、それを微調整する必要があります。すべてのフォームを閉じて、この手順を実行してください。

注意:これにより、ラベルのALLが太字に設定されます。ほとんどのフォントは太字にすると幅が広がります。そのため、後でフォームのレイアウトを微調整する必要があります。これを試す前に、.mdbをバックアップすることを強くお勧めします。

Sub SetFormProperties() 
Dim ao As AccessObject, Frm As Form, Ctl As Control 

    For Each ao In CurrentProject.AllForms 
     If ao.IsLoaded Then 
      Debug.Print ao.Name; " skipped...form was already loaded" 
     Else 
      DoCmd.OpenForm ao.Name, acDesign 
      Set Frm = Forms(ao.Name) 

      '-------------------' 
      'Set properties here' 
      For Each Ctl In Frm.Controls 
       If Ctl.ControlType = acLabel Then 
        Ctl.FontWeight = 700 
        '---OR---' 
        Ctl.FontBold = True 
       End If 
      Next Ctl 
      '-------------------' 

      DoCmd.Close acForm, Frm.Name, acSaveYes 
     End If 
    Next ao 
End Sub 
+0

素晴らしい!本当にありがとう。それは私が必要としたものです。 –

関連する問題