Boa noite,
Algum tempo estou me batendo na seguinte situação:
No VBA, uso formularios com BD access onde possuo um cadastro de pessoa e no cadastro através de Checkbox defino o tipo de pessoa, se é cliente, exportador, importador...
Porém para carregar uma listView em um outro formulario, há dois código diferentes de pessoa, porém o nome pessoa carrega o mesmo para os dois codigos
With ListView1
.Gridlines = True
.View = lvwReport
.FullRowSelect = True
.ColumnHeaders.Add text:="COD", Width:=30
.ColumnHeaders.Add text:="EXP", Width:=50
.ColumnHeaders.Add text:="COD", Width:=0
.ColumnHeaders.Add text:="IMPORTADOR", Width:=150
ComandoSQL = ComandoSQL & "Tab_Processo_exp.COD_EXP,"
ComandoSQL = ComandoSQL & "Tab_Pessoa.NOME_PESSOA,"
ComandoSQL = ComandoSQL & "Tab_Processo_exp.COD_CONS,"
ComandoSQL = ComandoSQL & "Tab_Pessoa.NOME_PESSOA,"
ListView1.ListItems.Clear
While Not Recordset.EOF
Set List = Rel_Embarques.ListView1.ListItems.Add(text:=Recordset(0)) 'id
List.SubItems(1) = Recordset(1) 'codigo pessoa
List.SubItems(2) = Recordset(2) 'nome pessoa
List.SubItems(3) = Recordset(3) 'codigo pessoa
List.SubItems(4) = Recordset(4) 'nome pessoa
Na listview carrega da seguinte maneira:
Recordset(1) codigo pessoa = 3 - Recordset(2) nome pessoa = Paulo
Recordset(3) codigo pessoa= 5 - Recordset(4) nome pessoa= Paulo
Como mostra o nome pessoa carregou também no Recordset(4) o mesmo do Recordset(2) e deveria carregar o codigo pessoa 5 que corresponde a João.
Sabem como posso tratar esta questão dentro da mesma listview?
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Populando ListView
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Populando ListView
Não entendi a demanda. Aparentemente e "carregado" registros de tabelas diferentes sem ligação visivel,porem e solicitado "carregar" duas vezes o nome pessoa da tbl ==>"Tab_Pessoa"
Pode fornecer exemplos de como são suas tabelas/banco e exemplificar,manualmente o que tem e o que espera obter?
Pode fornecer exemplos de como são suas tabelas/banco e exemplificar,manualmente o que tem e o que espera obter?
Re: Populando ListView
Tenho a seguinte tabela no Acces:
TAB_PESSOA(ACCESS)
CODIGO_PESSOA - Numero
NOME_PESSOA - Texto Curto
TIPO_IMPORTADOR Sim/Não
TIPO_EXPORTADOR Sim / Não
CODIGO NOME PESSOA IMPORTADOR EXPORTADOR
1 JOAO SIM NÃO
2 PEDRO NÃO SIM
ComandoSQL = ComandoSQL & "Tab_Processo_exp.CODIGO,"
ComandoSQL = ComandoSQL & "Tab_Pessoa.NOME_PESSOA,"
ComandoSQL = ComandoSQL & "Tab_Processo_exp.CODIGO,"
ComandoSQL = ComandoSQL & "Tab_Pessoa.NOME_PESSOA,"
ListView1.ListItems.Clear
While Not Recordset.EOF
Set List = Rel_Embarques.ListView1.ListItems.Add(text:=Recordset(0)) 'id
List.SubItems(1) = Recordset(1) 'codigo pessoa
List.SubItems(2) = Recordset(2) 'nome pessoa
List.SubItems(3) = Recordset(3) 'codigo pessoa
List.SubItems(4) = Recordset(4) 'nome pessoa
populando a list view, no primeiro código,
List.SubItems(1) = Recordset(1) 'codigo pessoa = (1)
List.SubItems(2) = Recordset(2) 'nome pessoa = (JOAO)
List.SubItems(3) = Recordset(3) 'codigo pessoa = (2)
List.SubItems(4) = Recordset(4) 'nome pessoa = (JOAO)
Ao popular a listwiew o campo “nome_pessoa” não carrega o nome do código 2 que é Pedro, uma vez carregado o código_pessoa 1 e nome pessoa correspondente código (Joao) ao passar para o código 2 ele não carrega a pessoa correspondente
TAB_PESSOA(ACCESS)
CODIGO_PESSOA - Numero
NOME_PESSOA - Texto Curto
TIPO_IMPORTADOR Sim/Não
TIPO_EXPORTADOR Sim / Não
CODIGO NOME PESSOA IMPORTADOR EXPORTADOR
1 JOAO SIM NÃO
2 PEDRO NÃO SIM
ComandoSQL = ComandoSQL & "Tab_Processo_exp.CODIGO,"
ComandoSQL = ComandoSQL & "Tab_Pessoa.NOME_PESSOA,"
ComandoSQL = ComandoSQL & "Tab_Processo_exp.CODIGO,"
ComandoSQL = ComandoSQL & "Tab_Pessoa.NOME_PESSOA,"
ListView1.ListItems.Clear
While Not Recordset.EOF
Set List = Rel_Embarques.ListView1.ListItems.Add(text:=Recordset(0)) 'id
List.SubItems(1) = Recordset(1) 'codigo pessoa
List.SubItems(2) = Recordset(2) 'nome pessoa
List.SubItems(3) = Recordset(3) 'codigo pessoa
List.SubItems(4) = Recordset(4) 'nome pessoa
populando a list view, no primeiro código,
List.SubItems(1) = Recordset(1) 'codigo pessoa = (1)
List.SubItems(2) = Recordset(2) 'nome pessoa = (JOAO)
List.SubItems(3) = Recordset(3) 'codigo pessoa = (2)
List.SubItems(4) = Recordset(4) 'nome pessoa = (JOAO)
Ao popular a listwiew o campo “nome_pessoa” não carrega o nome do código 2 que é Pedro, uma vez carregado o código_pessoa 1 e nome pessoa correspondente código (Joao) ao passar para o código 2 ele não carrega a pessoa correspondente
Re: Populando ListView
Sem os arquivos Excel/Access fica difícil analisar e testar o seu erro, anexe pelo menos os arquivos com poucos dados para análise. Se precisar deixe apenas as partes envolvidas nessa parte em específico.
Att,
Raygsson
Att,
Raygsson