怎样解决字段记录重复
现有一个地名字段,怎样做到当输入相同地名时,系统提出警告。
如果你是用表单的文本框控件输入地名的话,可以在Valid事件中输入如下语句(假设表文件名为T1.DBF,字段名为“地名”):
SELECT COUNT(地名) FROM T1 WHERE 地名==This.Value INTO ARRAY Addr
RETURN IIF(Addr(1,1)>0,0,1) &&已经存在地址就不能离开对话框
当然,这是最简单的能实现该功能的代码。若要做得地道点,可以在边上弄个标签控件,提示用户不可离开文本框的原因。也可以利用文本框控件的InteractiveChange事件使用户一边输入,一边就能在标签控件上知道输入的地名是否重复。
InteractiveChange事件代码可写为:
SELECT COUNT(地名) FROM T1 WHERE 地名==This.Value INTO ARRAY Addr
Thisform.Label1.Caption=IIF(Addr(1,1)>0,"该地址已存在","该地址可用")
如果有了该事件,Valid事件代码可以省略第一条命令,但在表单的Load事件或Init事件中加一句:PUBLIC Addr(1,1),把数组定义成全局变量。否则,执行到Valid事件时,会因为Addr数组被释放而出错。