Pessoal,
estou em fase de inicio de uso do DBFCDX, e em meus sistemas a minha busca as vezes é feita com base em dados de outro DBF.
O DBF anterior está sendo fechado e com isso o comando.
Select Debitos
SEEK Clientes->Nome
não está funcionando. Ele dá erro dizendo que o Alias Clientes não existe.
o q pode ser?
Procura com RDD CDX
Moderador: Moderadores
-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Boa Noite !
Verifique se o banco que esta sendo fechado não é o clientes.
Debugue seu sistema e verifique !
Tb pode ser que o alias para usar o banco clientes seja outro verifique.
O seek com o rdd CDX não tem problemas usando essa sintaxe.
Verifique se o banco que esta sendo fechado não é o clientes.
Debugue seu sistema e verifique !
Tb pode ser que o alias para usar o banco clientes seja outro verifique.
O seek com o rdd CDX não tem problemas usando essa sintaxe.
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
O melhor método de trabalho com arquivos ainda é com o uso de variáveis, neste caso, veja:
Veja que usei o NEW para referenciar a abertura em uma area vazia. sem seu uso o arquivo DEBITOS seria aberto na mesma area de CLIENTES.
Com esta rotina voce não terá mais duvidas.
@braços :?)
O melhor método de trabalho com arquivos ainda é com o uso de variáveis, neste caso, veja:
Código: Selecionar todos
use clientes index clientes new // NEW abre uma nova area sem SELECT
use debitos index debitos new
sele clientes
go top
do while .not. eof()
m->cliente := clientes->nome // guarda o nome do cliente na variavel
sele debitos // seleciona debitos
set order to 1 // caso tenha mais indices aponte para o mesmo
seek m->cliente // pesquisa pelo nome do cliente
if found()
do while .not. eof() // encontrou executa até o fim...
if debitos->cliente = m->cliente // é o cliente imprime os dados
? debitos->data, debitos->valor
endif
skip // pula para o proximo registro de debitos
enddo
endif
skip // pula para o proximo registro de clientes
enddo
Com esta rotina voce não terá mais duvidas.
@braços :?)
