Em postagem anterior aprendemos como inserir o código de cliente
de uma tabela em uma tela de consulta.Agora falta aprendermos como
realizar uma pesquisa a partir do código do cliente.
Para isto utilizaremos um botão de consulta (bt_cons_cli) na tela
frm_cons_cli.Supomos que haja informações do cliente a serem
consultadas em duas tabelas (tab_cad_cli) e (tab_fin_cli),
isto é uma situação muito comum em diversas consultas e se não for
feita corretamente pode gerar muita dor de cabeça.
Antes de mais nada vamos visualizar o conteúdo das duas tabelas,
Tabela: tab_cad_cli
Campos: cd_cod_cli, nm_nome_cli, nm_end_cli, nu_tel_cli.
Tabela: tab_fin_cli
Campos: cd_cod_cli, nu_valdev_cli, nu_valcred_cli.
Na tabela tab_cad_cli iremos cadastrar o código do cliente (cd_cod_cli),
nome (nm_nome_cli), e telefone (nu_tel_cli) do cliente.
A tabela tab_fin_cli possui o campo chave código de cliente (cd_cod_cli).
como as duas tabelas tem o campo cd_cod_cli em comum é necessário tomarmos
certas medidas para não gerar um problema de ambiguidade no código.
Antes de iniciarmos a construção do código é importante salientar que
a consulta na tabela deve ser feita de preferência sobre uma View, portanto
neste código iremos usar as seguintes Views, vi..tab_cad_cli e vi..tab_fin_cli.
*Pushbutton: bt_cons_cli
*Message Actions
*On SAM_Click
*Call SalWaitCursor(TRUE)
*Call SqlPrepareAndExecute(hSql,"select t1.cd_cod_cli, nm_nome_cli,
nm_end_cli, nu_tel_cli,
nu_valdev_cli, nu_valcred_cli
from vi..tab_cad_cli t1,
vi..tab_fin_cli t2
where t1.cd_cod_cli = t2.cd_cod_cli
t1.cd_cod_cli = dfcd_cod_cli
* Call SqlFetchNext(hsql, nFetch)
* Call SalWaitCursor(FALSE)
Obs.: O código Call SalWaitCursor(TRUE) ativa a ampulheta no cursor durante a
consulta e Call SalWaitCursor(FALSE) desativa.
Este código é bastante simples, mas ajuda muito o usuário iniciante a compreender
melhor as atividades de consulta em linguagem SAL.
Até a próxima!
Nenhum comentário:
Postar um comentário