Humm Posted July 21, 2011 Report Share Posted July 21, 2011 (edited) salve!vou tentar explicar de forma que de a entender..tenho uma consulta que me retorna o seguinte:[pedido] - [forma] 0001 - dinheiro 0001 - cartao 0002 - dinheiro 0003 - deposito 0003 - dinheiro gostaria de concatenar os valores da coluna forma agrupados pela coluna pedido de forma que aparecesse assim no resultado da consulta: [pedido] - [forma] 0001 - dinheiro, cartao 0002 - dinheiro 0003 - deposito, dinheiroacho que so vai rolar com criando uma funcao e usando os comandos whilemas já tentei e n to consegueindo fazeralguma luz? Edited July 22, 2011 by Humm Quote Link to comment Share on other sites More sharing options...
0 Humm Posted July 22, 2011 Author Report Share Posted July 22, 2011 consegui, criei uma funcao..Public Function Concatenar(Origem As String, CampoChave As String, _ CampoConcatenar As String, Chave As Integer) As String Dim db As Database Dim rs As Recordset Dim strSQL, strRetorno As String strSQL = "SELECT " & CampoChave & ", " & CampoConcatenar & " FROM " & Origem & _ " WHERE ([" & CampoChave & "] = " & Chave & ")" Set db = CurrentDb() Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) strRetorno = "" While Not rs.EOF strRetorno = strRetorno & rs(CampoConcatenar) rs.MoveNext If Not rs.EOF Then strRetorno = strRetorno & ", " End If Wend Concatenar = strRetorno rs.Close End Function funciona da seguinte maneira.. antes de mais nada, deve ser criada uma consulta que lhe retone os dados dessa maneira: [pedido] - [forma] 0001 - dinheiro 0001 - cartao 0002 - dinheiro 0003 - deposito 0003 - dinheiro ela vai servir de base para a funcao, que fiz de forma generica.. para poder usar futuramente com varias consultas da necessidade que eu tiver.. então, crie uma nova consulta.. ai a sintaxe da função: Concatenar(Origem, CampoChave, CampoConcatenar, Chave) Origem = Tabela ou Consulta de Origem dos dados.. no meu caso, Consulta_Teste CampoChave = Nome do campo indexado o qual ordena os registros.. no meu caso, COD_PED CampoConcatenar = Nome do campo a ser concatenado em si mesmo.. no meu caso, FORMA Chave = Valor do CampoChave, ou seja, aqui é o critério de agrupamento.. no meu caso, 1 debug.print concatenar("CONS_TESTE", "COD_PED", "FORMA", 1) dinheiro, cartao Quote Link to comment Share on other sites More sharing options...
0 Dwry Stos Posted June 7, 2018 Report Share Posted June 7, 2018 (edited) Boa tarde, EU estou começando a aprender usar o sql mas pra falar a verdade não manjo de nada, eu estou tentando resolver um problema mas não sei como fazer, eu tenho a sequinte view: USE [SGC] GO SELECT [ID] ,[Numero_RC] ,[Area_CAR] ,[Data_Req] ,[Ano] ,[Cod_Material] ,[Item] ,[Qtde] ,[UM] ,[Val_Unit] ,[Val_Total] ,[matdf_id_ctry] ,[Status] ,[Id_descri] ,[Seq] ,[Descricao] FROM [dbo].[vwGEM] GO O que acontece é que vários registros repetem em 2 linhas ou mais devido as informações do campo descrição estar divididos em uma linha ou mais, o que determina a ordem da continuação da descrição seriam os campos ID_descri e seq, oque eu queria fazer não se se é isso concatenar os valores e no campo descrição ele juntar para que fique uma descrição completa. Grato Edited June 7, 2018 by Dwry Stos Quote Link to comment Share on other sites More sharing options...
Question
Humm
salve!
vou tentar explicar de forma que de a entender..
tenho uma consulta que me retorna o seguinte:
gostaria de concatenar os valores da coluna forma agrupados pela coluna pedido de forma que aparecesse assim no resultado da consulta:acho que so vai rolar com criando uma funcao e usando os comandos while
mas já tentei e n to consegueindo fazer
alguma luz?
Edited by HummLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.