我有一个包含18个未绑定文本框的表单,可以提取值。 它们通常在90%的时间内起作用。有时值不会出现,我可以解决的唯一方法是关闭数据库并再次打开它。
每次记录更改时都需要刷新9个文本框
以下是9个文本框中有2个被卡住的例子:
'txtAFP_Sum
=IIf(IsError([sfm_COB_DISTR].[Form]![totAFP]),"-",[sfm_COB_DISTR]![totAFP])
'txtALLOT_Sum
=IIf(IsError([sfm_COB_DISTR].[Form]![totALLOT]),"-",[sfm_COB_DISTR]![totALLOT])
其他7个有类似的公式。
每次查看记录时,其他9个未绑定的文本框都不需要更改,因此为了尝试加快其中一些计算,我写了一个例程,只有在必要时才将dLookups分配给未绑定的文本框看到价值观的变化。
每当我更改需要查看所有框的更新的值时,我都会调用以下例程:
Public Sub RefreshTOTALS()
PopUpMsg ("Refreshing Totals...")
With Form_frm_COB
'Entire COB
.txtTOTALS_AFP = DLookup("AFP", "TOTALS_FINAL")
.txtTOTALS_ALLT = DLookup("ALLT", "TOTALS_FINAL")
.txtTOTALS_SP_C = DLookup("SP_C", "TOTALS_FINAL")
.txtTOTALS_SP_O = DLookup("SP_O", "TOTALS_FINAL")
.txtTOTALS_COMMITS = DLookup("COMMITS", "TOTALS_FINAL")
.txtTOTALS_OBS = DLookup("OBS", "TOTALS_FINAL")
.txtTOTALS_COM_SP_RATE = DLookup("COM_SP_RATE", "TOTALS_FINAL")
.txtTOTALS_OBS_SP_RATE = DLookup("OBS_SP_RATE", "TOTALS_FINAL")
.txtTOTALS_UNC = DLookup("UNC", "TOTALS_FINAL")
'Current COB ID
.txtAFP_Sum.Requery
.txtALLOT_Sum.Requery
.txtSP_C.Requery
.txtSP_O.Requery
.txtCOMS.Requery
.txtOBLG.Requery
.txtSPRate.Requery
.txtOBSRate.Requery
.txtWBS_Remain.Requery
End With
End Sub
我希望我能解决导致价值无法计算的原因。
答案 0 :(得分:1)
在以下表达式中,.[Form]
部分缺少IIf
部分:
<强>错误:强>
'txtAFP_Sum
=IIf(IsError([sfm_COB_DISTR].[Form]![totAFP]),"-",[sfm_COB_DISTR]![totAFP])
'txtALLOT_Sum
=IIf(IsError([sfm_COB_DISTR].[Form]![totALLOT]),"-",[sfm_COB_DISTR]![totALLOT])
<强>校正:强>
'txtAFP_Sum vvvvvvv
=IIf(IsError([sfm_COB_DISTR].[Form]![totAFP]),"-",[sfm_COB_DISTR].[Form]![totAFP])
'txtALLOT_Sum vvvvvvv
=IIf(IsError([sfm_COB_DISTR].[Form]![totALLOT]),"-",[sfm_COB_DISTR].[Form]![totALLOT])