VB 6 - Criando um DataGrid vinculado a um DataList
O controle DataGrid é muito usado para exibir detalhes de uma tabela. Quer um exemplo ?
O banco de dados Northwind (Nwind.mdb) possui uma tabela Suppliers (fornecedores) relacionada a uma tabela Products (Produtos). Abaixo temos a figura indicando o relacionamento de um-para-muitos .
Um relacionamento funciona pela coincidência de dados em campos chave - geralmente um campo com o mesmo nome em ambas as tabelas. Na maioria dos casos, esses campos coincidentes são a chave primária de uma tabela, que fornece um identificador exclusivo para cada registro, e uma chave estrangeira da outra tabela
O
campo SupplierID da tabela Suppliers é a chave
primária que esta relacionada ao campo
SupplierID da tabela Products (chave estrangeira). O relacionamento um-para-muitos é o tipo mais comum de relacionamento. Em um relacionamento um-para-muitos, um registro na Tabela A pode ter muitos registros coincidentes na Tabela B, mas um registro na Tabela B tem um só registro coincidente na Tabela A. No caso a tabela A seria a tabela Suppliers e a tabela B seria a tabela Products. |
Qual é a idéia ?
É o seguinte : vamos usar o controle DataList para exibir o nome dos fornecedores a partir da tabela Suppliers ; quando o usuário clicar em qualquer companhia no DataList , o controle DataList irá usar o campo identificador do fornecedor - SupplierID ; então iremos criar uma consulta SQL que irá retornar todos os produtos da tabela Products relacionados ao fornecedor selecionado e iremos exibir estes produtos no controle DataGrid.
Para alcançar nosso objetivo vamos usar os controles vinculados ADO : DataGrid , DataList e ADO Data Control.
O projeto
- Inicie um novo projeto no VB e insira os componentes : Microsoft DataGrid Control 6.o , Microsoft DataList Control 6.0 e Microsoft ADO Data Control no seu projeto . Opção Project|Components...
- No formuláriuo padrão insira um controle DataGrid - DataGrid1 , um controle DataList - DataList1 , dois controles ADO Data Control - Adodc1 e Adodc2 ; um botão de comando - command1 - e dois controles Labels - label1 e label2. Conforme layout abaixo:
A propriedade Visible dos controles ADO Data Control devem ser definidas como False de forma a que os controles não sejam visíveis em tempo de execução. |
Configurando os controles vinculados
Vamos agora configurar as propriedades dos controles vinculados. Vamos começar com os controles Adodc1 e Adodc2. O mesmo procedimento deverá ser feito para ambos os controles :
Agora , cuidado !! :
Agora vamos incluir todo o código necessário a que nossa aplicação seja funcional. No evento click do controle DataList digite o código abaixo:
Private Sub DataList1_Click() Dim strconsulta As String strconsulta = "Select * from Products Where SupplierID = " & DataList1.BoundText With Adodc2 .RecordSource = strconsulta .Refresh End With With DataGrid1 .ClearFields .ReBind End With Label1.Caption = "Relação de Produtos : " & DataList1.Text End Sub |
Agora é só executar. Pressione F5 e observe :
O
código do botão Sair é o seguinte :
Private Sub
Command1_Click() |
Conforme você clica em um fornecedor no controle DataList o controle DataGrid exibe os produtos relacionados àquele fornecedor...
Gostou ??
'Guenta' que tem mais vindo ai....
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: