Amigos
Tenho um ListView que é povoado com dados básicos de Clientes (nome, telefone, endereço, e-mail, ...). Acontece que surgiu a necessidade de apresentar um novo campo de dados, mas esse novo campo relacionado a cada um cliente possui, em média, 10 registros. No access possuo uma tabela 'Clientes' e relacionada a ela terá uma nova tabela chamada 'Sinonimos' a qual possuirá vários sinônimos de um só cliente. A dúvida é a seguinte: ao clicar em qualquer um registro no ListView1, gostaria que seus sinônimos fossem visualizados em outro ListView2. Essa visualização não precisa ser obrigatóriamente em um ListView, pode ser em um ListBox, FlexGrid, DataGrid e etc. Dou preferência ao ListView pela hormônia do designer do Formulário. Quanto a esse procedimento encontrei um exemplo pronto utilizando dois DataGrid: grdMestre e grdDetalhe. Mas não estou conseguindo alterar o código para ser utilizado com dois ListView.
------------------------------------
Aqui está parte do meu código. O Fomulário possui um PictureBox (apresenta a foto do cliente), dois Label 1 e 2 (apresenta em destaque o nome e o telefone do cliente), um ComboBox (oferece a opção de procurar o cliente por nome ou código), um TextoBox (onde é digitado o nome ou o código do cliente que se deseja encontrar) e um ListView (que é povoado com os dados da tabela 'Clientes' ). Nesse mesmo formulário vai ser necessário acrescentar mais um ListView (pode ser um ListBox, FlexGrid, ...), onde ao clicar em/ou selecionar qualquer cliente no ListView1 seria visualizado no ListView2 seus possíveis sinônimos, registrados em uma nova tabela chamada 'Sinonimos' .
Private Sub cmbProcurarPor_Click()
txtFiltro
End Sud
--------------------------------------------------------------------------------
Private Sub Form_Load()
Call Conectar
Verifica_rs
rs.Open "select * from Clientes", cnn
Preenche_Lista
End Sub
------------------------------------------------------------------------------------
Public Sub Preenche_Lista()
ListaClientes.ListItems.Clear
If rs.RecordCount = 0 Then Exit Sub
While Not rs.EOF
Set lst = ListaClientes.ListItems.Add(, , rs(0))
For i = 1 To 8
lst.SubItems(i) = rs(i)
Next i
rs.MoveNext
Wend
End Sub
---------------------------------------------------
Private Sub txtProcurar_Change()
txtFiltro
End Sub
---------------------------------------------------
Public Sub txtFiltro()
Dim procurarpor As String
If cmbProcurarPor.ListIndex = -1 Then cmbProcurarPor.ListIndex = 1
If cmbProcurarPor.ListIndex = 0 Then
procurarpor = "codigo"
ElseIf cmbProcurarPor.ListIndex = 1 Then
procurarpor = "nome"
End If
verifica_rs
rs.Open "select * from Clientes where " & procurarpor & " like '" & txtProcurar & "%'"
Preenche_Lista
End Sub
--------------------------------------------------------------
Private Sub ListaClientes_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
PicFoto.Picture = LoadPicture(ListaClientes.SelectedItem.Text)
lblNone.Caption = ListaClientes.SelectedItem.SubItems(1)
lblTelefone.Caption = ListaClientes.SelectedItem.SubItems(2)
Case vbKeyDown
PicFoto.Picture = LoadPicture(ListaClientes.SelectedItem.Text)
lblNone.Caption = ListaClientes.SelectedItem.SubItems(1)
lblTelefone.Caption = ListaClientes.SelectedItem.SubItems(2)
End Select
End Sub
Agradeço desde já a ajuda! Obrigado.