only_chk.prg
资源名称:CTCT.rar [点击查看]
上传用户:gz31567
上传日期:2020-04-16
资源大小:4096k
文件大小:2k
源码类别:
行业应用
开发平台:
VFP
- * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- * 文件名: ONLY_CHK.PRG <-- 本文件由 UnFoxAll 创建
- * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- PARAMETER CHK_DBF , CHK_FIELD
- if !used('&chk_dbf')
- use &chk_dbf in 0 share
- ENDIF
- sele &chk_dbf
- Value_type=type('&chk_field')
- DO CASE
- CASE VALUE_TYPE = 'N' .OR. VALUE_TYPE = 'Y'
- CHK_MIN = 0
- CASE VALUE_TYPE = 'C'
- CHK_MIN = ' '
- CASE VALUE_TYPE = 'D'
- CHK_MIN = {}
- CASE VALUE_TYPE = 'T'
- CHK_MIN = {}
- OTHERWISE
- messagebox("数据库“&chk_dbf.”中的字段“&chk_field.”的数据类型是“&Value_type.”,不能进行唯一性检查!",48,"错误")
- RETURN
- ENDCASE
- sele &chk_field from &chk_dbf where .T. into cursor Temp_Only_chk_dbf order by &chk_field
- SELECT TEMP_ONLY_CHK_DBF
- NERROR = 0
- GO TOP
- FIELD_VALUE_OLD = CHK_MIN
- DO WHILE .NOT. EOF()
- Field_Value_New=&chk_field
- IF FIELD_VALUE_NEW > FIELD_VALUE_OLD
- ELSE
- NERROR = NERROR + 1
- DO CASE
- CASE VALUE_TYPE = 'N' .OR. VALUE_TYPE = 'Y'
- FOUND_VALUE = ALLTRIM(STR(FIELD_VALUE_NEW))
- CASE VALUE_TYPE = 'C'
- FOUND_VALUE = ALLTRIM(FIELD_VALUE_NEW)
- CASE VALUE_TYPE = 'D'
- FOUND_VALUE = DTOC(FIELD_VALUE_NEW)
- CASE VALUE_TYPE = 'T'
- FOUND_VALUE = TTOC(FIELD_VALUE_NEW)
- ENDCASE
- if messagebox("在检查数据库“&chk_dbf.”的字段“&chk_field.”的唯一性时,发现值为“"+Found_value+"”的记录不唯一,请检查!" ,1+48,"发现 "+allt(str(nError))+" 处不唯一性")=2
- EXIT
- ENDIF
- ENDIF
- Field_Value_Old=&chk_field
- SKIP
- ENDDO
- sele &chk_dbf
- USE
- SELECT TEMP_ONLY_CHK_DBF
- USE
- set message to "数据库“&chk_dbf.”中字段“&chk_field.”的唯一性检查完毕!"
- IF NERROR > 0
- messagebox("因为这是唯一性检查,在正确运行程序前,需确保唯一性的正确性!",48,"警告:数据库“&CHK_DBF.”中字段“&CHK_FIELD.”有 "+allt(str(nError))+" 处不唯一")
- ENDIF
- *
English
