Como usar função set relation

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Piqueno
Usuário Nível 1
Usuário Nível 1
Mensagens: 14
Registrado em: 03 Out 2013 18:07
Localização: Monte Carmelo-MG

Como usar função set relation

Mensagem por Piqueno »

boa noite,
Preciso fazer a ligação entre tabelas(pedido,item-pedido,produto) ,para poder cadastrar uma venda, porem não estou conseguindo relacionar usando o set relation.
Alguem pode me ajudar?
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Como usar função set relation

Mensagem por alxsts »

Olá!

Este comando set relation foi pouco usado no tempo do Clipper. Se eu fosse você esqueceria isso... faça tudo na raça mesmo. Monte uma tela com dados do cabeçalho do pedido na parte superior e na parte inferior faça um TBrowse com os itens do pedido. No Get do código do cliente, coloque uma função que exiba um TBrowse com os nomes dos clientes. Faça o mesmo no Get do código do produto, exibindo os produtos.

Li seus posts anteriores. Não compare DBF com SQL, conforme foi respondido. Você disse que procura crescimento profissional (linguagens padrão xBase não vão te dar isso). Se quer aprender a mexer com linguagens do padrão xBase, por que não começa com Harbour mais uma biblioteca gráfica? Sugiro que use a HMG. Alem de ter a IDE, tem uma infinidade de exemplos na pasta samples.

Se quiser insistir no set relation, veja este exemplo no Manual do Clipper 5.2
[]´s
Alexandre Santos (AlxSts)
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Como usar função set relation

Mensagem por lugab »

Um exemplinho básico

Código: Selecionar todos

Sele 1
Use DbFUNC alias Funcionarios
Set INDE TO (CDXFUNC)  // chave=filial+matricula

Sele 2
Use DbSAL alias salarios
SET INDE TO (CDXSAL)    // CHAVE=Filial+matricula


Sele Funcionarios
Set rela to Filial+matricula into Salarios

Ao setar o registro de Joao Jose da Sila em Funcionarios (via Dbseek(), p.ex) automaticamente sera setado o mesmo cidadão em Salarios
lugab
Avatar do usuário
Piqueno
Usuário Nível 1
Usuário Nível 1
Mensagens: 14
Registrado em: 03 Out 2013 18:07
Localização: Monte Carmelo-MG

Como usar função set relation

Mensagem por Piqueno »

Obrigado pelas dicas, vou dar uma olhada
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como usar função set relation

Mensagem por JoséQuintas »

Pera aí....
A pergunta inicial diz que é pra "cadastrar uma venda".
Pra cadastrar uma venda vai pesquisar o produto, mas não precisa relacionar.
Se usa um tbrowse pra mostrar o pedido conforme vai digitando pode ser útil, mas melhor fazer de outra forma, porque o set relation não respeita registros excluídos.
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/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Como usar função set relation

Mensagem por alxsts »

Olá!
alxsts escreveu:Sugiro que use a HMG. Alem de ter a IDE, tem uma infinidade de exemplos na pasta samples
Tem um exemplo legal na pasta C:\HMG.3.0.35\SAMPLES\PEDIDOS da instalação padrão da HMG
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Como usar função set relation

Mensagem por Jairo Maia »

Olá Pessoal,
alxsts escreveu:Este comando set relation foi pouco usado no tempo do Clipper. Se eu fosse você esqueceria isso...
Me perdoe caro Alexandre Santos, mas salvo minha falta de conhecimento, não conheço nada mais rápido e prático para montar consulta relacional, inclusive usando em conjunto com o TBrowse.
JoséQuintas escreveu:mas melhor fazer de outra forma, porque o set relation não respeita registros excluídos.
Me perdoe também caro José, mas o SET RELATION usa as definições definidas pelo SET DELETED [ON|OFF].
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder