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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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