[resolvido] Concatenar campos de ComboBox com ADO

Moderador: Avelino Sampaio

jbcotrim
Mensagens: 16
Registrado em: 08 Jun 2015, 13:13

[resolvido] Concatenar campos de ComboBox com ADO

Mensagempor jbcotrim » 18 Fev 2017, 02:11

Amigos.
Com base no exemplo disponibilizado pelo amigo Jefferson Braz: Acessando dados da Web - parte 2, no site Usando Access, estou tentando popular um "ComboBox" com concatenação de 2 campos, mas está dando erro de "Sintaxe".
Pegando o exemplo da função "Lista_Load(csql, ForMy)", eu a mudei para Combo_Load(csql, ForMy) abaixo:

Public Sub Combo_Load(csql, ForMy)

Call Conexao_Open(csql)

Dim FormAberto As Form 'Recebe o nome do formulário atual
Set FormAberto = Forms(ForMy)

FormAberto.Combo = Null 'Limpa seleção do registro
FormAberto.Combo.RowSource = "" 'Limpa os dados da caixa de listagem
FormAberto.Combo.Requery 'atualiza dados da caixa de listagem

While (Not rs.EOF)

FormAberto.Combo.AddItem rs.Fields(0).Value & ";" & rs.Fields(1).Value & ";" & rs.Fields(2).Value
rs.MoveNext 'vai para o proximo registro

Wend

rs.Close 'fecha o recorset
cn.Close 'fecha o banco de dados

.....

E no evento "Ao carregar" do Form, chamo a função "Combo_Load"

Call Combo_Load("SELECT tblunidades.CodUnid, [NomeUnid] & ' - ' & [NomeContato] AS Unid, tblunidades.NomeUnid, tblcontatos.NomeContato FROM tblunidades INNER JOIN tblcontatos ON tblunidades.CodUnid = tblcontatos.id_CodUnid GROUP BY tblunidades.CodUnid, [NomeUnid] & ' - ' & [NomeContato], tblunidades.NomeUnid, tblcontatos.NomeContato, tblunidades.Unid_CodCond HAVING (((tblunidades.Unid_CodCond) = 6)) ORDER BY [NomeUnid] & ' - ' & [NomeContato];", Me.Form.Name)

Só que está dando erro de "Sintaxe"

Na instrução "SELECT" estou concatenando os campos "NomeUnid" com "NomeContrato" para mostrar na "COMBOBOX ":

NomeUnid NomeContato
101A - JOAO DA SILVA
102A - MARIA JOAO
103A - TENORIO CAVALCANTE

e sucessivamente...

Onde estou errando?

Agradeço a atenção e um forte abraço!
Jeser

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Avatar do usuário
Damasceno Jr.
Mensagens: 345
Registrado em: 08 Jun 2015, 01:30
Localização: Medicilândia-Pará

Re: Concatenar campos de ComboBox com ADO

Mensagempor Damasceno Jr. » 18 Fev 2017, 12:33

Uma dica que muito vai valer:
Assim como no exemplo dado pelo Jefferson Braz no site UsandoAccess você também está utilizando algum programa para interface gráfica na conexão com a db MySQL? Se sim, utilize-o para montar suas instruções SQL!

No MySQL Front ele mostra como deve ser a sintaxe na parte inferior da tela, olha só:
img_t40_4.jpg


Depois que tiver montado a SQL é só copiá-la. Boa prática.
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.
Quanto mais o tempo passa, mais descubro e mais me apaixono por MS Access.

jbcotrim
Mensagens: 16
Registrado em: 08 Jun 2015, 13:13

Re: Concatenar campos de ComboBox com ADO

Mensagempor jbcotrim » 18 Fev 2017, 20:55

Amigo Damasceno Jr.

Obrigado pela atenção e orientação.
Eu normalmente faço isso na interface gráfica do access. O problema é que precisava "concatenar" o campo "NomeUnid" com o campo "NomeContato" para que a "ComboBox" exiba numa coluna só, o nome da unidade com o nome do contato Ex: "1001-João da Silva". Acontece que a ansiedade estava falando mais alto e não lembrei que a concatenação no MySQL é diferente do Access.
No Access usamos o "&" e no MySQL o "CONCAT". Era só isso.
Me perdoem por ter usado o tempo dos amigos por um fundamento tão banal.
Mesmo assim, eu agradeço a atenção dispensada.
Um forte abraço a todos!
Jeser

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Access x MySql”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante