不用每个文本框分别判断的。在关闭窗体前或移到另一条记录前判断一下就行。 with recordset for i=0 to 7 if text1(i)<>iif(isnull(.fields(i).value),"",.fields(i).value) then if msgbox ("记录修改后未保存,要保存吗?",vbyesno)=vbyes then .edit for j=i to 7 .fields(i)=iif(text1(i)="",null,text1(i)) next j .update end if exit sub end if next i
with recordset
for i=0 to 7
if text1(i)<>iif(isnull(.fields(i).value),"",.fields(i).value) then
if msgbox ("记录修改后未保存,要保存吗?",vbyesno)=vbyes then
.edit
for j=i to 7
.fields(i)=iif(text1(i)="",null,text1(i))
next j
.update
end if
exit sub
end if
next i
没有用的话,textbox.text的初始值也付给tag,
最后循环判断tag是否与最后的text相同,
这样封装成函数只要传入一个textbox对象就可以了