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()
Unload Me
End Sub

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:


José Carlos Macoratti