VisualBasic - Access

b.de.brandao

Power Member
Boas. Estou a fazer um programa em visual basic com ligação á base de dados (access) , e consigo fazer tudo , menos uma coisa : tenho duas tabelas, e duas grids num mesmo form. como faço para, ao selecionar uma linha da primeira tabela, aparecer os registos relativos a essa pessoa na tabela de baixo?

http://imageshack.us/photo/my-images/824/44696608.png/

por exemplo, ao selecionar na tabela de cima o registo "um" , aparecer-me em baixo apenas as atividades do "um" .
 
uso OleDB, acho, visto que ao nao mudar o configuration manager para x86, me diz "o controlador microsoft.oledb.12.0 nao sei que ..." .
como carrego os dados ? ora bem , tenho dois forms de inserção de dados, e depois é através das querys, e isso tudo. onde queres chegar?
 
Se é através de querys então actualizas a query da segunda DataGrid e indicas com a clausula WHERE o 'Nome' da linha selecionada na primeira datagrid.
 
http://imageshack.us/photo/my-images/404/vb2.png/ eu tenho as querys do insert, delete, e update no "RegistoDataSet" . Depois tenho essas espécies de querys, as "ToolStrip", usadas para pesquisar, por exemplo, escrevo o nome, carrego, e aquilo aparece o nome que quero. só que agora tentei criar outra dessas mas não consigo aquilo que queria, por isso se pudesses dar mais detalhes, agradecia imenso.
 
Tens de criar uma query que pesquise as actividades por nome "SELECT * FROM Actividades WHERE Nome=?"
Aí o Vb irá criar por defeito uma textbox e um botão, tal qual os outros já criados. Copias a linha de codigo do botão para o evento CellClick da DataGrid, e ajustas o valor para o valor da celula da datagrid:

Qualquer coisa parecida com: Me.TabelaTableAdapter.FillBy(Me.TabelaDataSet1.Tabela, DataGridView.Rows(e.RowIndex).Cells(1).Value)

Podes apagar a textbox e o botão, que terão uso.

 
Obrigado, está 5 estrelas. Não foi preciso criar query nenhuma mesmo, adaptei o meu código a esse teu "DataGridView.Rows(e.Row ...", e já está. O que estava a dar problema além disso era o Cell_Click, que eu tinha CellContent.

Private Sub AlunoDataGridView_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles AlunoDataGridView.CellClick
Try
Me.AtividadTableAdapter.atividade(Me.RegistoDataSet.atividad, AlunoDataGridView.Rows(e.RowIndex).Cells(1).Value)

Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub


fica aqui para se alguém precisar, ou até podem fechar o tópico . Mais uma vez , obrigado :)
 
Back
Topo