Bom dia pessoal,
Depois de 25 anos programando em clipper parei num problema que no atual SQL é fácil de resolver, porém ainda não consegui resolver :%
Vamos ao problema:
Tenho 2 tabelas:
uma de Produtos (PRO)
CODIGO C 06 (PK)
DESCRICAO C 40
uma de Tabela de Preços (TAB)
CODTAB C 02 (PK)
CODPRO C 06
VLRUNI N 10 2
Preciso mostrar a tabela de preços em um grid com as seguintes colunas
CODIGO; DESC.PRODUTO; VALOR UNITARIO
e fazer uma consulta por ordem alfabética neste grid.
acho que o "velhinho" ta surtando...rs... :-O
Relacionamento de Tabelas
Moderador: Moderadores
Relacionamento de Tabelas
acho que consegui resolver, nao sei se é a maneira mais certa:
na tabela de preços fiz o seguinte
sele TAB
set relation to CODPRO into PRO
index on PRO->DESCRI to INDICE2
go top
seek "A"
ei encontra o primeiro A dos produtos.
na tabela de preços fiz o seguinte
sele TAB
set relation to CODPRO into PRO
index on PRO->DESCRI to INDICE2
go top
seek "A"
ei encontra o primeiro A dos produtos.
Flávio dos Santos Szelbracikowski
ssflavio@osite.com.br
ssflavio@osite.com.br
Relacionamento de Tabelas
O Set Relation faz movimentar automaticamente o ponteiro no arquivo "filho" sempre que você movimentar o ponteiro no arquivo "pai", de acordo com o campo designado (que tem que estar indexado no "filho"). Não precisa SEEK. Aqui vai um exemplo:
Você inverteu. Primeiro indexa e depois seta a "relation".
Código: Selecionar todos
use produto new
inde on nome to produto
inde on codigo to produto
set inde to produto
set orde to nome
use precos new
index on codigo to precos
set inde to precos
sele produto
set rela to codigo into precos
go top
do whil !eof()
?nome+" "+str(precos->preco)
* mostra os produtos em ordem alfa, com o respectivo preço trazido do precos.dbf
next
enddset relation to CODPRO into PRO
index on PRO->DESCRI to INDICE2
Você inverteu. Primeiro indexa e depois seta a "relation".

