O recordset ADO é uma espécie de tabela, digamos que é o DBF do ADO....
Código: Selecionar todos
oRs := cnSQL:Execute( "SELECT NOME, ENDERECO, CIDADE, UF FROM CLIENTES" )
Quer usar posição atual e quantidade pra barra de scroll? só usar :AbsolutePosition e :RecordCount
Quer aplicar filtro ? oRs:Filter = "NOME LIKE '%JOAO%'"
:AbsolutePosition é sempre relativo ao resultado, não à posição sem filtro.
Quer ordenar? oRs:Sort( "NOME" )
Quer salvar ? oRs:Save( "c:\temp\test.rs" )
(Acho que precisa remover o vínculo ao banco de dados antes)
Quer carregar ?
oRs:Load( "c:\temp\test.rs" )
Talvez um gerador de relatórios tenha acesso ao recordset salvo.
Quer atualizar após uma exclusão ?
oRs:Requery()
Quer filtrar enquanto digita ?
oRs:Filter = "NOME LIKE '%" + cVarDigitada + "%'"
Sei lá... me parece mais simples do que ficar recriando arrays no aplicativo....
Vamos pensar:
Código: Selecionar todos
oExcel := win_OleCreateObject( "excel.application" )
Código: Selecionar todos
oADO := win_OleCreateObject( "ADODB.Connection" )
oRs := win_OleCreateObject( "ADODB.Recordset" )
Não sei dizer, e não faz diferença, funcionar é o que importa.
Quem faz uso pesado pode se interessar por esse teste, se o resultado fica dentro ou fora do aplicativo.
