Página 1 de 1

Index

Enviado: 27 Dez 2006 19:28
por PITERGALDIANO
Boa tarde pessoal

o que estou fazendo de errado

Index On fluxo->TIPOCAD + Str(fluxo->CODIGO,6) + Str(fluxo->CONVENIO,6) + fluxo->TIPOMOV + Str(fluxo->LOJA,6) + fluxo->NUMDOC + fluxo->SERIE + Dtos(fluxo->DATAEMIS) + Dtos(fluxo->DATAENTRA) + Dtos(fluxo->DATAVENC) + Dtos(fluxo->DATALIQ) + Str(fluxo->VALORTOT,6) + Str(fluxo->VALORPARC,6) + Str(fluxo->VALORLIQ,6) Tag fluind2 To fluxo Eval BarProgress("FLUXO","FLUIND2") Every 50

quando mando indexar com a linha acima, acontece o erro
Internal Error 1255

Porquê?

Obrigado

Enviado: 27 Dez 2006 19:53
por Clipper
Sinceramente o motivo do erro eu não sei, mas me intriga é porque você precisa de um indice tão complexo ?

Até logo.

Marcelo

Enviado: 27 Dez 2006 20:08
por PITERGALDIANO
o que eu preciso é o seguinte:

Tenho uma tela onde informo os filtros:

Código:
Pagamento ou recebimento:
data de emissão:
data de vencimento:
valor:

preciso selecionar estes dados em um DBF e mostrar o registro na tela, sendo que se um dos campos não forem informados, não deve fazer parte da seleção!

Como devo proceder?

Obrigado

Enviado: 02 Jan 2007 14:38
por gvc
- Crie um índice que permita vc pesquisar o arquivo. De preferência, uma chave que identifique um único registro por vez.
- A chave que vc esta montando não vai ajudar a montar sua pesquisa.
- Vc pode trabalhar com arquivo temporário ou um array.
- O array tem a desvantagem de depender de espaço de memória.
- O temporário tem a desvantagem de necessitar de mais trabalho de disco e nontagem dos dados. Eu prefiro este, pois nunca sei quantos registros a pesquisa do usuário vai gerar.

Após o usuário entrar com os dados para seleção:
Crie uma estrutura igual ao arquivo original para um arquivo temporário.
Abra o temporário em uma nova área de trabalho.
Indexe o temporário pela mesma chave de pesquisa do arquivo principal.
Faça um loop para correr o arquivo.
Dentro desse loop, vc verifica se o registro atual atende o filtro do usuário.
O que atender, vc copia para o temporário.
Abra um browse do temporário para o usuário.
Toda alteração que o usuário fizer no temporário, pesquise e execute no principal.
Após o usuário fechar o browse, feche e apague o temporário.

(Algumas vezes, eu mudo a estrutura do temporário para conter o número do registro no principal. Assim eu posiciono no registro com o dogoto()).

Boa sorte. Espero ter ajudado.

Enviado: 04 Jan 2007 20:43
por PITERGALDIANO
Obrigado pela colaboração de todos, consegui fazer o filtro utilizando o dbf temporário!

Valeu