STATIC Function CreateTable()
TCDelFile('T1')
TCDelFile('T2')
DBCreate('T1', {{"FIELD_NAME", "C", 10, 0}, ;
{"FIELD_TYPE" , "C", 10, 0}}, 'TOPCONN')
DBCreate('T2', {{"FIELD_NAME", "C", 10, 0}, ;
{"FIELD_TYPE" , "C", 10, 0}, ;
{"FIELD_ID" , "N", 3, 0}}, 'TOPCONN')
RETURN
FUNCTION u_canOpen()
TCLink()
CreateTable()
DBUseArea(.F., 'TOPCONN', 'T2', 'T2', .F., .F.)
DBCreateIndex('T2_IND', 'FIELD_NAME', { || 'FIELD_NAME' })
IIF(TCCanOpen('T1'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .T., ou seja, tabela existe
IIF(TCCanOpen('T2'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .T., ou seja, tabela existe
IIF(TCCanOpen('T3'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., ou seja, tabela não existe
IIF(TCCanOpen('T2', 'T2_IND'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .T., ou seja, tabela e índice existem
IIF(TCCanOpen('T2', 'T2_INDEX'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., pois, o índice T2_INDEX não existe
IIF(TCCanOpen('T1', 'T1_IND'), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., pois, o índice T1_IND não existe
DBCloseArea()
RETURN