quando fecho a tela que contem um histórico no listbox e volto para a tela de casdatro ele dar varios erros que diz q o banco n esta aberto ou selecionado
so que fiz o teste e ele está. ja fiz de tudo mas não to conseguindo resolver
alguem pode me dar um caminho por eu onde eu posso verificar esse erro?
vou mostrar algumas partes do fonte
Tela com o listbox que ao fechar dar o erro :
METHOD HistFaltas() class CadFuncFerias
local ok := .F.
DEFINE ICON oIcon RESOURCE "#8006"
DEFINE DIALOG ::DlgFaltas RESOURCE "#1160" OF ::oChild ICON oIcon;
TITLE "Histórico de Faltas"
::xxNome := 1->NOME
::xxAdms := 1->ADMISSAO
::xxCodigo := 1->CODIGO
REDEFINE SAY ID 4007 OF ::DlgFaltas
REDEFINE SAY ID 4005 OF ::DlgFaltas
REDEFINE SAY ID 4009 OF ::DlgFaltas
REDEFINE SAY ::gxCodigo VAR ::xxCodigo ID 4008 OF ::DlgFaltas
REDEFINE SAY ::gxNome VAR ::xxNome ID 4006 OF ::DlgFaltas
REDEFINE SAY ::gxAdms VAR ::xxAdms ID 4010 OF ::DlgFaltas
::TempFaltas()
REDEFINE XBROWSE ::xbrowFaltas ID 4002 OF ::DlgFaltas;
HEADERS "Mes", "Tipo" , "Falta" ;
JUSTIFY .F., AL_CENTER, .T., .T., .T. ;
COLSIZES 137,137,139 ;
ARRAY ::aHistFal AUTOCOLS AUTOSORT
::xbrowFaltas:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
REDEFINE BUTTON ID 4001 OF ::DlgFaltas ACTION (::DlgFaltas:End()) CANCEL
::UseDB()
ACTIVATE DIALOG ::DlgFaltas CENTER
RETURN ok
//-------------------------------------------------------------------------------------------------------------
METHOD TempFaltas() class CadFuncFerias
::aHistFal := {}
Sele 29
SET ORDER TO 2 //"MES+CODE"
GO TOP
cFaltas := 0 //Zera a quantidade de faltas para não pegar a mesma quantidade para toda repetição
cHoras := 0
do while !eof()
IF 1->CODIGO <> 29->CODF
skip
loop
ENDIF
if 29->MES < LEFT(DTOS(::cFERIAS),6) .or. 29->MES > LEFT(DTOS(::cFERIAS1),6) //mes <> left(kwmes,4)
skip
loop
endif
SELE 4
SET ORDER TO 2 //UPPER(DESCRICAO)
GO TOP
DO WHILE !EOF() //Procura por faltas
IF 4->CODIGO = 29->CODE
IF (AT("FALTA", UPPER(4->DESCRICAO)) > 0) .AND. (4->DHV = "D") .AND. (4->PRODES = "D")
AADD( ::aHistFal, { 29->MES,"Dia", 29->VALOR} )
ENDIF
IF (AT("FALTA", UPPER(4->DESCRICAO)) > 0) .AND. (4->DHV = "H") .AND. (4->PRODES = "D")
AADD( ::aHistFal, { 29->MES,"Hora", 29->VALOR} )
ENDIF
ENDIF
SELE 4
SKIP //PRODES
ENDDO
SELE 29
skip //FLMONT
enddo
RETURN
no caso esse USEDB() volta e abre o banco que eu preciso quando saio da janela