LETODBF: INDEX FOR condition

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

LETODBF: INDEX FOR condition

Mensagem por Linguagemclipper »

Error LETO/1003 : Variable does not exist XANO
Deu erro aqui quando foi criar um arquivo de índice temporário com o argumento FOR

Código: Selecionar todos

   SELECT EMP
   cRANDOM1  := ALLTRIM(STR(RAN(9999)))
   fINDEX1   := xTEMP+"TEMP" + cRANDOM1 + INDEXEXT()
   INDEX ON CNPJ+ANO TAG TEMP TO (fINDEX1) ;
         FOR ANO=xANO ;
         ADDITIVE TEMPORARY
O erro dá opção QUIT ou RETRY. Se eu dou RETRY ele cria normalmente.
The FOR expression cannot exceed 250 characters in length. RDDs that do not support a FOR condition when creating indexes generate a runtime error when this option is used.
Achei esse help acima, mas a questão de poder consertar isso seria com o Elchs mesmo, entretanto acho que poderia fazer um error handle para contornar esse erro, alguém sabe como seria isso?
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

LETODBF: INDEX FOR condition

Mensagem por JoséQuintas »

DBF, SQL, LETODBF.... é tudo a mesma merd.

Porque usar variável, que não existe no servidor, se pode usar a constante ?

Talvez

Código: Selecionar todos

cFOR := "field->ANO = " + Ltrim( Str( xAno ) )
INDEX FOR &(cFor)
E o filtro não depende mais de variável.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Linguagemclipper
Usuário Nível 3
Usuário Nível 3
Mensagens: 240
Registrado em: 16 Abr 2016 17:33
Localização: Maceió/AL
Contato:

LETODBF: INDEX FOR condition

Mensagem por Linguagemclipper »

O Elchs me explicou. Os DBFs rodam no servidor onde não tem essa variável aí mesmo sendo pública.
Ele deu a dica de usar as funções no lugar do comando: https://github.com/elchs/LetoDBf/issues/31
Mas, resolví de forma melhor. Coloquei o ano do exercício em um campo do usuário, daí ficou até melhor porque vai dar sempre no mesmo ano que o usuário estava trabalhando e depois ele pode mudar, se quiser. Fica sempre o último exercício utilizado pelo usuário.
Ele também falou da existência de uma função chamada Leto_VAR() que devine uma variável no lado do servidor que seria o que chamou de "universal" porque seria enxergada até por outros sistemas servidos pelo Leto.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Responder