2016-11-15 3 views
0

6つのテキストボックスを持つAccessにフォームがあります。これらのボックスでは、DCount、DMax、DMin、DAvgで式を使用します。しかし、更新は非常に遅くなります。どのようにペースを改善できますか?式の代替手段はありますか?Dcount、Dmin、DMax、DAvgはフォームを開くと更新が非常に遅い

DCount("*";"FieldA") 

VBAまたは他のSQLコードでも可能ですか?

+0

好奇心。 [Domain functions](https://www.techonthenet.com/access/functions/domain/dcount.php)は、コンマで区切られたargs: 'Dfunc(fieldname、tablename、[optional criteria])'で実行されます。 SQLのCount(*)集計と同様に、DCountだけがアスタリスクを使用できます。 – Parfait

+0

私はそれらをDMax、DMin、DAvg関数に対してfalseにしました。しかし、セパレータとしてドイツのオペレーティングシステムで使用されます。だから、DCountとは別にもっと速い方法ですか? –

答えて

1

おそらく、あなたはそれを束縛された形にすることができますか?

既にバインドされたフォームの場合は、フォームが基づいているクエリにこれらのフィールドを追加することができます。テーブルに基づいてバインドされたフォームの場合、それらの余分なフィールドでクエリを作成できます。

+0

フォームがバインドされていて、多数のクエリがバインドされている場合はどうなりますか?複数のクエリを選択するにはどうすればよいですか? –

0

あなたが(「FIELDA」から)同じテーブルから引いた場合、あなたは一度にこれらの値を引くクエリを作成します。それらも働いたか

Dim rs As DAO.Recordset 
Set rs = CurrentDb.QueryDefs("YourQuery").OpenRecordset() 

Me!AverageTextbox.Value = rs!AverageField.Value 
Me!CountTextbox.Value = rs!CountField.Value 
' etc. 
+0

テキストボックスのBuildEventです。私はあなたの次のコードプライベートサブDunkel_Clickを使用していた()DAO.Recordset セットrs = CurrentDb.QueryDefs( "テーブル")として 点心ルピー。のOpenRecordsetを() ミー!CountTextbox.Value = RS! End SubのをCountField.Value。しかし、私はフォームビューに行くと、テキストボックスに何も返されません。どこが間違っていますか? –

+0

わからない。それは正しいと思われますが、質問はありません... – Gustav

関連する問題