Mostrarei primeiro o nosso layout final para que vocês possam ter uma base de estética.
Properties |
|
|
Name |
CadClientes |
|
Position |
PoScreenCenter |
|
Caption |
Cadastro de Clientes |
|
Salve com o nome UcadClientes
Clique em File/UseUnit/ e selecione o DataModule(DM), para criarmos o vinculo com o Banco de dados.
Crie o Menu com base do form Principal (Tutorial I,II).
Acrescente ao Form Um TGroupBox e de a ele o nome de Grbdados.
Coloque outro TgroupBox dentro do Grbdados e de o nome de GrbPesquisa .
Abra o DataModule(DM) e na tabela Clientes, de um clique duplo para abrir o fieldeditor , selecione todos os itens e arraste para o form CadClientes.Acrescente no GrbPesquisa, um TEdit e um TLabel dando o nome a eles de (ednome, lblpesquisa), acrescente na sequencia um TDbGrid (DbgPesquisa) e configure conforme:
Propriedades |
|
Name |
DbgPesquisa |
Datasource |
DsCadClientes |
|
|
De um duplo clique no dbgrid para abrir o editor de Colunas, clicando em add All Fields.
e delete Todos os itens, deixando apenas o item nome. Configure a seu gosto o tamanho o formato alterando os dados no item title,font,style,color.
Vamos nesse momento , fazer o vinculo do Cliente com seu veiculo.
Abra outra vez o Data module (DM) e selecione a tabela Veiculos e altere os seguintes itens
Propriedades |
|
|
Mastersource |
DsCadClientes |
De onde os dados virão (tabela Mestre) |
Masterfield |
Abrirá o Field link, selecione o Código do cliente dos dois lados e clique em add (veja imagem) |
|
Isso fará que todo o Cliente seja relacionado a um ou mais veículos. Salve e retorne ao form CadClientes.
No formCadClientes inclua um TDbGrid(Palheta DataControls) e vincule-o ao DsCadClientes na opção DataSet.
Acrescente no form um Dbnavigator (DataControls) e na opção Options altere as seguinte propriedades para false,
Conecte o DbNavigator na opção DataSet, ao DSCadVeiculos e salve o Form.
O evento dos botões
Se tudo foi montado corretamente o seu ActionList, deverá estar da seguinte forma
procedure TFormCadClientes.ActNovoExecute(Sender: TObject);
begin
Dm.TbClientes.Append;
Dm.TbVeiculos.Append;
end;
Para os demais botões digite conforme lista abaixo:
procedure TFormCadClientes.ActCancelarExecute(Sender: TObject);
begin
Dm.TbClientes.Post;
end;
procedure TFormCadClientes.ActGravarExecute(Sender: TObject);
begin
dm.TbClientes.Post;
end;
procedure TFormCadClientes.actExcluirExecute(Sender: TObject);
begin
if application.MessageBox('Deseja excluir este Cliente?','Confirme',
MB_YesNO + MB_IconQuestion + Mb_DefButton2)= IDNO then
dm.TbClientes.Delete;
end;
procedure TFormCadClientes.ActSairExecute(Sender: TObject);
begin
close;
end;
Retorne ao Formulario e no evento OnClose , digite:
procedure TFormCadClientes.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
FormCadClientes:=Nil;
end;
Para o evento do localizar Clientes , de um clique duplo no TEdit(ednome) e digite:
procedure TFormCadClientes.edNomeChange(Sender: TObject);
begin
dm.TbClientes.Locate('Nome',ednome.text,[loPartialKey,LoCaseInsensitive]);
end;
Pronto está feito o form de Cadastro de Clientes, não aprimorei os comando de botões, pois acho que há muitas informações para isso. Se ajudar basta acrescentar na sequencia de cada botão.
ex.(“dm.tbclientes......;
actNovo.enabled:=true ou false;
act Gravar.enabled:=true ou false;
Executando o Formulário
Vamos executar o formulário criado, vá no FormPrincipal e no action List no Botão ActClientes (duploClique), digite:
procedure TFormPrincipal.ActClientesExecute(Sender: TObject);
begin
formCadClientes.showModal;
end;
Salve e teste o programa.
No próximo tutorial, iremos criar o formulário de manutenção
Claúdio