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

Dados duplicados Combobox

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

CROVADOR
Manda bem
Manda bem
Mensagens: 106
Registrado em: Ter Mar 13, 2018 11:15 am

Dados duplicados Combobox

Mensagem por CROVADOR »

Boa tarde amigos, tenho uma combobox chamada txt_uf, nela queria que os dados uf não ficassem duplicados...Alguma idéia amigos?
Segue código que tentei mas não deu certo...



Private Sub UserForm_INITIALIZE()

Dim Dados As ADODB.Recordset
Dim ComandoSQL As String

Set Dados = New ADODB.Recordset

ComandoSQL = "SELECT * FROM tbOrç_Detalhe2" & vbCrLf
ComandoSQL = ComandoSQL & "Order by Nome_Cli"

Caminho = ThisWorkbook.Path & "\Banco.mdb"
Provedor = "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
cn.ConnectionString = Provedor & Caminho
cn.Open

Dados.Open ComandoSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText

txt_cidade.Clear

txt_uf.Clear

While Not Dados.EOF
txt_cidade.AddItem Dados!Nome_Cli
txt_uf.AddItem Dados!uf
ComandoSQL = "SELECT uf FROM tbOrç_Detalhe2 GROUP BY uf"

Dados.MoveNext

Wend

cn.Close

Iniciar
calc = True
With Me.lstvOrç
.FullRowSelect = True
.View = lvwReport
.Gridlines = True
.Font.Size = 9

.ColumnHeaders.Add Text:="DATA", Width:=50 ', Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CLIENTE", Width:=170
.ColumnHeaders.Add Text:="OBS", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="TELEFONE", Width:=80, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CONTATO", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="E-MAIL", Width:=130, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="ENDEREÇO", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CNPJ/CPF", Width:=100, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="I.E.", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="N°", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="BAIRRO", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CEP", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CIDADE", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="UF", Width:=0, Alignment:=fmAlignmentRight

.BackColor = RGB(193, 217, 241) 'Azul Office 2007

End With
End Sub


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.


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

Re: Dados duplicados Combobox

Mensagem por Raygsson »

No seu banco as informações estão repetidas? Pode agrupar o resultado com o GROUP BY .
Voce esta tentando usar o GROUP BY mas pelo visto declarou no local errado, tem que declarar no comando antes de executar a consulta SQL. Nessa parte:

Código: Selecionar todos

ComandoSQL = "SELECT * FROM tbOrç_Detalhe2" & vbCrLf
ComandoSQL = ComandoSQL & "Order by Nome_Cli"
Aqui não faz diferença, a consulta ja foi executada e esta apenas descarregando o resultado:

Código: Selecionar todos

While Not Dados.EOF
txt_cidade.AddItem Dados!Nome_Cli
txt_uf.AddItem Dados!uf
ComandoSQL = "SELECT uf FROM tbOrç_Detalhe2 GROUP BY uf"
Dados.MoveNext
Wend


CROVADOR
Manda bem
Manda bem
Mensagens: 106
Registrado em: Ter Mar 13, 2018 11:15 am

Re: Dados duplicados Combobox

Mensagem por CROVADOR »

Boa noite, obrigado por me ajudar, mas ainda não consegui entender onde devo colocar esta parte do código.
ComandoSQL = "SELECT uf FROM tbOrç_Detalhe2 GROUP BY uf"


CROVADOR
Manda bem
Manda bem
Mensagens: 106
Registrado em: Ter Mar 13, 2018 11:15 am

Re: Dados duplicados Combobox [Resolvido]

Mensagem por CROVADOR »

Obrigado mais uma vez amigos, deu certo assim:

Private Sub UserForm_INITIALIZE()

Dim Dados As ADODB.Recordset
Dim ComandoSQL As String

Set Dados = New ADODB.Recordset

ComandoSQL = "SELECT * FROM tbOrç_Detalhe2" & vbCrLf
ComandoSQL = ComandoSQL & "Order by Nome_Cli"
ComandoSQL = "SELECT Observaçoes FROM tbOrç_Detalhe2 GROUP BY Observaçoes"

Caminho = ThisWorkbook.Path & "\Banco.mdb"
Provedor = "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
cn.ConnectionString = Provedor & Caminho
cn.Open

Dados.Open ComandoSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText

'txt_cidade.Clear
txt_uf.Clear

While Not Dados.EOF
'txt_cidade.AddItem Dados!Nome_Cli
txt_uf.AddItem Dados!Observaçoes
Dados.MoveNext
Wend
cn.Close
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
ComandoSQL = "SELECT * FROM tbOrç_Detalhe2" & vbCrLf
ComandoSQL = ComandoSQL & "Order by Nome_Cli"

Caminho = ThisWorkbook.Path & "\Banco.mdb"
Provedor = "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
cn.ConnectionString = Provedor & Caminho
cn.Open

Dados.Open ComandoSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText

While Not Dados.EOF
txt_cidade.AddItem Dados!Nome_Cli
'txt_uf.AddItem Dados!Observaçoes
Dados.MoveNext
Wend
cn.Close
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Iniciar
calc = True
With Me.lstvOrç
.FullRowSelect = True
.View = lvwReport
.Gridlines = True
.Font.Size = 9

.ColumnHeaders.Add Text:="DATA", Width:=50 ', Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CLIENTE", Width:=170
.ColumnHeaders.Add Text:="OBS", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="TELEFONE", Width:=80, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CONTATO", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="E-MAIL", Width:=130, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="ENDEREÇO", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CNPJ/CPF", Width:=100, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="I.E.", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="N°", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="BAIRRO", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CEP", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="CIDADE", Width:=0, Alignment:=fmAlignmentRight
.ColumnHeaders.Add Text:="UF", Width:=0, Alignment:=fmAlignmentRight

.BackColor = RGB(193, 217, 241) 'Azul Office 2007

End With
End Sub


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