MS Access 2002 に、コマンド ボタンの背後にある次のコード スニペットを含むフォームがあります。
'Requery subform to make sure total is calculated
Me.fsubUpdateShipments.Requery
DoEvents
'Confirm quantities have been entered
If Form_fsubUpdateShipments.txtTotalShipmentQty.Value <= 0 Then
MsgBox "Cannot create shipment, no quantities have been entered", vbCritical
Exit Sub
End If
何ヶ月もの間、これは正常に機能していましたが、今日同僚が私のところに来て、数量を入力してもエラーメッセージが表示されると説明しました.
少し掘り下げた後.Value <= 0
、問題のテキストボックスがその値の計算を完了する前に式が評価されていることがわかりました=Sum([QtyToShip])
。これは、サブフォームに非常に多くのレコード (約 10 以上) がある場合にのみ発生するようで、明らかに深刻な問題です。
ステートメントを含む行にブレークポイントを追加するとIf
、コードを正しく実行できますが、明らかにこのメソッドを永続的に使用することはできません。
サブフォーム コントロールが値の再計算を完了するまでコードを強制的に一時停止する方法はありますか?