Página 1 de 1

TBrowse - Selecionar/marcar registros

Enviado: 21 Jul 2008 20:59
por cainelli
Caros colegas,

Fiz uma pesquisa no forum, mas não encontrei uma solução para minha dúvida.
Eu abro um TBrowse filtrando os clientes por uma determinada condição: data de aniversário, por exemplo.
Quero selecionar entre esses clientes alguns para emitir uma carta. Como marcar estes clientes ?
Resumindo, quero dar ao usuário do meu sistema condições de escolher alguns registros no TBrowse.

Crio um campo no BD para salvar esta "marca" ?
Dá para fazer isto em memória ?

Agradeço a ajuda dos colegas.

Marcello.

Re: TBrowse - Selecionar/marcar registros

Enviado: 21 Jul 2008 22:15
por alaminojunior
Olá Marcello, boa noite.
Veja bem, tanto com um campo a mais, como numa variável, dá para fazer, Vai depender exclusivamente da habilidade do programador. Quem tem facilidade no trato com variáveis, acha melhor fazer com elas, quem não tem esta facilidade (meu caso) faz com um campo a mais.
Penso que fazer com variável é interessante.

Código: Selecionar todos

registros:= {}

dentro do tbrowse
if lastkey() = K_ENTER
   aadd(registros,registro)
endif
e para depois imprimir, é só ir buscando no bd, cada registro que foi armazenado na variável.

Agora, pensando bem.....e se o bd for muito grande ? Não seria melhor definir um escopo ?

TBrowse - Selecionar/marcar registros

Enviado: 22 Jul 2008 10:53
por Pablo César
Sabendo que a quantidade de registros (resultado do filtração mencinada), eu faria um TBROWSE de vetores. Na seção código fontes tem alguns exemplos que postei. Claro que a opção de fazer mais um campo no próprio DBF também é válido (como ja disseram os colegas). Aliás pensando na forma em que você selecionaria os registros, poderiam estes serem gravados um DBF temporário ja com a estrutura requerida (inclusive com o campo FLAG de seleção para impressão).

Re: TBrowse - Selecionar/marcar registros

Enviado: 24 Jul 2008 09:26
por cainelli
Caros amigos,

Utilizando os exemplos aqui do forum, fiz o TBrowse com vetor e ficou perfeito.
Quero agradecer a todos e especialmente ao Alaminojunior e ao Pablo pela ajuda. :{

Marcello.