2011-07-06 7 views
0

オプションのリストが設定されたComboBoxを持つプログラムでフォームを作成しています。オプションを選択すると、フォームにさまざまなコントロールが設定されます。私はそれを達成しています現時点では実行時のMicrosoft Access 2000 Switch Views

FormName = Screen.ActiveForm.Name 
DoCmd.Close acForm, FormName, acSaveYes 
DoCmd.OpenForm FormName, acDesign 
' Do Work to create controls 
DoCmd.Close acForm, FormName, acSaveYes 
DoCmd.OpenForm FormName, acNormal 

問題は、私は私のデータベースに保存されている多くの一時的なフォームを持っているつもりです。私はそれを見るように私はそれ

で行われていたときに、フォームを削除することができ、フォーム

  • を保存することなく、ビューを設計するために、私は2つのオプション、

    1. スイッチがあります私は、OnCloseの中
      DoCmd.DeleteObject acForm, FormName 
      

      を入れて試してみた、とONUNLOADはトリガーが、それは「それが開いている間は、オブジェクトのForm1の 'を削除することはできません」というエラーになり

      提案がありますか?

  • 答えて

    1

    フォームのコントロールの数が制限されますか。言い換えれば、Visibleではなく、事前に作成する必要があるすべてのコントロールを持つことは可能でしょうか?それから、最初からすべてを再作成する必要なしに、必要なものを見せて、位置づけするだけです。

    +0

    これは解決策ですが、画面上に最大数のコントロールがあるためです。私はそれがとても良い解決策になるとは思わない。しかし、Access用に開発しているものが増えれば、それほどエレガントでないソリューションが私に思いつきます。 – Lance

    +0

    @buskコントロールのコントロールソースなど、デザインビューに切り替えることなくコントロールのプロパティを変更できることを忘れないでください。私は報告するために使用するフォームと同様のことをしています。レポートのリストから選択することができ、フォームは選択されたレポートのパラメータに必要なものをコントロールのリストからオン/オフします。このフォームには現在、330個のコントロールがあります。 – TheOtherTimDuncan

    +0

    ありがとう、私はおそらく、このルートのいずれかに行くか、すべてのアイデアを一掃するつもりです。私は、MS Accessデータベースをフロントエンドだけに変換し、その後にWebインターフェイスを作成するプロセスに入っています。だから私はこれらの最後のいくつかのフォームを最初に作成しなければならないと思っています。 – Lance

    関連する問題