DataSet ... Error Total Registros
Publicado: Mar Jun 07, 2005 6:48 pm
Hola,
//Creo un DbfDataSet... usando NTX
WITH OBJECT ::oNtxDataSource1 := TNtxDataSource():New( Self )
:cConnect := "."
:Create()
END
WITH OBJECT ::oDbfDataSet1 := TDbfDataSet():New( Self )
:oDataSource := ::oNtxDataSource1
:cProcess := "GENERAL"
o:cName := "CMOV.dbf"
o:AddIdxFile( "C11" )
o:AddIdxFile( "C14" )
o:AddIdxFile( "C15" )
o:AddIdxFile( "C16" )
o:AddIdxFile( "C17" )
o:AddIdxFile( "C18" )
:lOpen := .T.
:Create()
END
Creo un StatusBar para mostrar en que registro estoy del total de registros...
Y en OnChange del Browse...
METHOD DBBrowse1Change( oSender, lBookMarkChanged ) CLASS TFrmBrowseCMOV
::oStatusBar1:aItems[2]:cText := "Registro " +;
AllTrim( Str( ::oDBBrowse1:nKeyNo ) ) +;
" de " +;
AllTrim( Str( ::oDbfDataSet1:RecCount() ) ) //Resultado 19117
* AllTrim( Str( ::oDBBrowse1:KeyCount() ) ) //Resultado 19117
RETURN Nil
Un botón para aplicar un Filtro al DataSet...
METHOD Button1Click( oSender ) CLASS TFrmBrowseCMOV
::oDbfDataSet1:Filter( " COMENTARI = 'A' ", .T. )
RETURN Nil
Bien... el filtrado lo hace PERFECTO... PERO... el Evento OnChange del Browse me sigue dando como resultado de total de Registros igual que sin el filtrado 19117... ¿?¿?
Y si pulso la tecla <Fin>... se va al último registro correctamente, pero me está informando que estoy en el registro 19119 de 19117.¿?¿?
Existe un Bug al tratar con Filtros o estoy haciendo algo mal???
Gracias,
Un Saludo,
Xevi.
--
//Creo un DbfDataSet... usando NTX
WITH OBJECT ::oNtxDataSource1 := TNtxDataSource():New( Self )
:cConnect := "."
:Create()
END
WITH OBJECT ::oDbfDataSet1 := TDbfDataSet():New( Self )
:oDataSource := ::oNtxDataSource1
:cProcess := "GENERAL"
o:cName := "CMOV.dbf"
o:AddIdxFile( "C11" )
o:AddIdxFile( "C14" )
o:AddIdxFile( "C15" )
o:AddIdxFile( "C16" )
o:AddIdxFile( "C17" )
o:AddIdxFile( "C18" )
:lOpen := .T.
:Create()
END
Creo un StatusBar para mostrar en que registro estoy del total de registros...
Y en OnChange del Browse...
METHOD DBBrowse1Change( oSender, lBookMarkChanged ) CLASS TFrmBrowseCMOV
::oStatusBar1:aItems[2]:cText := "Registro " +;
AllTrim( Str( ::oDBBrowse1:nKeyNo ) ) +;
" de " +;
AllTrim( Str( ::oDbfDataSet1:RecCount() ) ) //Resultado 19117
* AllTrim( Str( ::oDBBrowse1:KeyCount() ) ) //Resultado 19117
RETURN Nil
Un botón para aplicar un Filtro al DataSet...
METHOD Button1Click( oSender ) CLASS TFrmBrowseCMOV
::oDbfDataSet1:Filter( " COMENTARI = 'A' ", .T. )
RETURN Nil
Bien... el filtrado lo hace PERFECTO... PERO... el Evento OnChange del Browse me sigue dando como resultado de total de Registros igual que sin el filtrado 19117... ¿?¿?
Y si pulso la tecla <Fin>... se va al último registro correctamente, pero me está informando que estoy en el registro 19119 de 19117.¿?¿?
Existe un Bug al tratar con Filtros o estoy haciendo algo mal???
Gracias,
Un Saludo,
Xevi.
--