我自动更改Access表单的某些文本框的值。他们的控制来源如下:
=SeImed(LucroBrutoOperacoes([txt_VendaValor];[txt_CompraValor])>=0;LucroBrutoOperacoes([txt_VendaValor];[txt_CompraValor]);Nulo)
所以,当if子句中的相关字段" SeImed" (Iif,英文),文本字段将其值更改为计算值或为null(" Nulo"),如公式中所示。这工作得很好。我需要的是在发生这种变化时拦截,例如,Change或AfterUpdate或Dirty事件无法完成。我尝试了所有这些,但没有成功。如果你们中的任何人知道如何拦截这个价值变化,请帮助我。我很感激你的帮助。
提前感谢。
答案 0 :(得分:0)
只要txt_VendaValor或txt_CompraValor发生变化,您的文本框就会重新计算。
所以你可以通过在这些地方观察它来检测变化:
txt_VendaValor_Change
txt_VendaValor_AfterUpdate
txt_CompraValor_Change
txt_CompraValor_AfterUpdate
请注意,即使值未实际更改,事件有时也会触发,例如在当前显示“0.0”的文本框中输入“0”。如果您避免误报是很重要的,那么您需要保留计算文本框的最后已知值的副本。触发事件时,将最后已知的值与当前值进行比较,以查看是否确实发生了更改。