3

多数のサブフォームを表示するフォームを持つ Access アプリケーション (32 ビット Office、Windows 7) を使用しています。各サブフォームには、特定の工場フロア ステータスに関する情報が表示され、すべてを同時に表示できる必要があります。

特定の時点の後、追加のサブフォームを追加すると、「この操作を実行するのに十分なメモリがありません。不要なプログラムを閉じて、操作を再試行してください。」というエラーが生成されます。

フォーム以外にコードやオブジェクトを含まないいくつかの簡素化されたテスト データベースを使用すると、テストするマシンに応じて、サブフォームの数が 80 ~ 130 の場合にこのエラーが表示されることがわかりました。私のマシンには十分な空き RAM があり、それぞれが別々の Access インスタンスにある限り、Access データベース (およびメイン フォーム) の複数のコピーを開くことができます。

アクセス制限、メモリ処理などについて多くの調査を行ってきましたが、何の助けにもなりません。システム メモリ上のデータベースの要求を監視しても、その領域に問題は見られず、エラー メッセージが赤信号であるかどうか疑問に思っています。アプリケーションに割り当てられるリソースを増やす方法を見つけたいと思います。または、サブフォームを追加できるようにしたいと考えています。

何か案は?

ここに画像の説明を入力

4

1 に答える 1

1

私はこの問題をよく知っており、サブフォームに関係しています。何年も前に、私は 36 か月の生産計画の申請書を作成しましたが、それはあなたの申請書と非常によく似ていました。

1 つの行からすべてのコントロールを配置する 1 つのサブフォームのみを使用するソリューションを見つけることをお勧めします。コントロールに t1、t2、t3、t4 などの名前を付け、コントロールをフィールドにバインドする VBA コードを後ろに置きます。

長期的には、MS Access から離れて、より最新の XAML で C# を使用することをお勧めします。C#/WinForms を使用しても、Access よりも柔軟性があります。WinForms は、さまざまな画面サイズと解像度に対して柔軟性が少しあります。

于 2016-05-12T12:37:24.610 に答える