![MS Access フォームは、Split Database のフロントエンド フォームの最近のデータ更新を反映しません。](https://rvso.com/image/1597836/MS%20Access%20%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AF%E3%80%81Split%20Database%20%E3%81%AE%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%20%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E6%9C%80%E8%BF%91%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E6%9B%B4%E6%96%B0%E3%82%92%E5%8F%8D%E6%98%A0%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82.png)
私のアクセス データベースにはフロントエンドとバックエンドがあります。VBA コード、フォーム、クエリなどはフロントエンドにあり、テーブルはバックエンドにあります。バックエンドはサーバー上にあり、約 5 人のユーザーがローカルでフロントエンドのコピーを使用しています。
データを変更または入力すると、バックエンドのテーブルにすぐに表示/反映されますが、そのデータはフォームではすぐには利用できません。なぜそうなるのかはわかりません。更新されたデータは最終的にはフォームで確認できますが、テーブルのようにすぐには確認できません。(たとえば、バックエンドのテーブルからデータを取得するコンボボックスなど)
データベースが更新される頻度を確認するために使用/変更できるテーブルまたはクエリはありますか (テーブルとフォームの両方)? また、分割データベースのパフォーマンスを改善したいと考えています。現在、データベースの動作が非常に遅いです。何かヒントがあれば助かります。
答え1
フロントエンドとバックエンドを分離するのは良い決断です。DB が遅い理由はいろいろ考えられますが、ほとんどの場合はネットワークまたは設計の悪さです。
フォームを再度開くと、フォームに新しいデータが表示されますか? 特にコンボボックスとリストボックスはデータをキャッシュすることに注意してください。
Requery メソッドは、コントロールのデータ ソースを再クエリして、アクティブ フォーム上の指定されたコントロールの基になるデータを更新します。
この記事を見るhttps://docs.microsoft.com/de-de/office/vba/api/access.combobox.requery