Ola!
Uma dica muito importante para todos nós.
Vamos aprender a perguntar e procurar ter um mínimo de organização.
Você não postou como está o LetoDb.ini, como é a estrutura dos seus dbf's, seu exemplo não pode ser executado por ninguém apenas por você.
E também não está colocando seu código dentro da cláusula "code,/code".
Desta Maneira nao Funciona:
nVar := 0
Index on Codigo Tag Temp FOR(CODEST) > nVar
Claro que não vai funcionar, o servidor não sabe quem é nVar. Mais isso não é problema do LetoDb, em Sintaxe SQL ou ADS também não podemos fazer assim.
cPath := "//192.168.27.200:2812\"
A sintaxe também não é essa.
Aqui já tem erro de programação.
veja:
SELE 1
USE PRODUTO
SET INDEX TO PRODUTO
//para que essas linhas ai em cima ?
e depois você procura:
mForne := StrZero(Val(mForne),5)
Index on Estoque Tag Temp to Temporal ;
While ( Fornecedor == mForne)
Fica dificil ajudar...
Onde está o indice para usar com ordscope?
Com explicado anteriormente, como o servidor vai saber quem é mForne? lembre-se que voce está pedindo a ele para executar uma tarefa, são dois programas distintos, ele não tem como saber o conteúdo das variaveis do seu programa e ele vai criar o INDICE ou DBF no HD do Servidor.
Use o "&" para converter ou "(" parentesis.
Por isso também usamos a função leto_file(), para sabermos se o arquivo existe no HD do servidor.
Código: Selecionar todos
Index on fornecedor+estoque tag CodigoDoFornecedor //quem é estoque ? se for campo caractere, só numeros, por exemplo fica assim.
mForne := Space(5)
@ 02,02 say 'Codigo Fornecedor para Filtro :' Get mForne Pict "99999"
Read
If LastKey()==27
Close All
Return Nil
Endif
mForne := StrZero(Val(mForne),5)
OrdScope(0,mForne+"00000")
OrdScope(1,mForne+"99999")
Saudações,
Itamar M. Lins Jr.