Olá amigos do fórum, tenho um problema a ser resolvido, em um BD Access, tenho a Tabela_Contratos (Id, Contrato, Fornecedor, FUNDO, ......., VL_Contrato e etc..), em um Formulário do Excel tenho um listview, e em uma consulta usando ADO, busco todos os fornecedores que tenham contratos com um determinado FUNDO. O que ocorre é que a consulta me retorna o nome do fornecedor uma vez para cada contrato. Assim se o fornecedor tem 03 contratos com o FUNDO "FME", por exemplo, ele aparece 03 vezes no listview, gostaria que ele aparecesse apenas uma vez. Abaixo meu código:
Sub CarregaListView()
On Error Resume Next
Call Conectar_BD_Gestao
Set rs = New ADODB.Recordset
SQL = "Select * From TB_Contratos Where FORNECEDOR like '" & Text_Fornecedor.Text & "' And FUNDO like '" & Text_Fundo.Text & "'"
rs.Open SQL, cnn, adOpenStatic, adLockOptimistic
Me.ListView1.ListItems.Clear
While Not rs.EOF
Dim List As ListItem
Set List = Me.ListView1.ListItems.Add(, , rs!N_CONTRATO)
List.SubItems(1) = rs!FORNECEDOR
List.SubItems(2) = rs!VL_CONTRATO
List.SubItems(3) = rs!DATA_FINAL
Pergunta
vfrms
Olá amigos do fórum, tenho um problema a ser resolvido, em um BD Access, tenho a Tabela_Contratos (Id, Contrato, Fornecedor, FUNDO, ......., VL_Contrato e etc..), em um Formulário do Excel tenho um listview, e em uma consulta usando ADO, busco todos os fornecedores que tenham contratos com um determinado FUNDO. O que ocorre é que a consulta me retorna o nome do fornecedor uma vez para cada contrato. Assim se o fornecedor tem 03 contratos com o FUNDO "FME", por exemplo, ele aparece 03 vezes no listview, gostaria que ele aparecesse apenas uma vez. Abaixo meu código:
Sub CarregaListView()
On Error Resume Next
Call Conectar_BD_Gestao
Set rs = New ADODB.Recordset
SQL = "Select * From TB_Contratos Where FORNECEDOR like '" & Text_Fornecedor.Text & "' And FUNDO like '" & Text_Fundo.Text & "'"
rs.Open SQL, cnn, adOpenStatic, adLockOptimistic
Me.ListView1.ListItems.Clear
While Not rs.EOF
Dim List As ListItem
Set List = Me.ListView1.ListItems.Add(, , rs!N_CONTRATO)
List.SubItems(1) = rs!FORNECEDOR
List.SubItems(2) = rs!VL_CONTRATO
List.SubItems(3) = rs!DATA_FINAL
rs.MoveNext
Wend
Set rs = Nothing
Set SQL = Nothing
Caminho = Empty
End Sub
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.