1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

VisualBasic - Access

Discussão em 'Programação' iniciada por b.de.brandao, 5 de Junho de 2012. (Respostas: 6; Visualizações: 701)

  1. b.de.brandao

    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" .
     
  2. fmf1966

    fmf1966 Power Member

    Neste momento como é que carregas os dados na primeira e na segunda DataGrid?

    Tás a usar VB6 ou Vb.Net? ADO ou OleDB?
     
  3. b.de.brandao

    b.de.brandao Power Member

    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?
     
  4. fmf1966

    fmf1966 Power Member

    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.
     
  5. b.de.brandao

    b.de.brandao Power Member

    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.
     
  6. fmf1966

    fmf1966 Power Member

    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.

     
  7. b.de.brandao

    b.de.brandao Power Member

    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 :)
     

Partilhar esta Página