Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Populando ListView

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
geovane83
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Set 16, 2020 10:01 pm

Populando ListView

Mensagem por geovane83 »

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?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Populando ListView

Mensagem por Reinaldo »

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?


geovane83
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Qua Set 16, 2020 10:01 pm

Re: Populando ListView

Mensagem por geovane83 »

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


Raygsson
Manda bem
Manda bem
Mensagens: 118
Registrado em: Sex Jan 31, 2020 8:06 pm

Re: Populando ListView

Mensagem por Raygsson »

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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder