Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Concatenar valores em um campo, como?


Humm

Pergunta

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, dinheiro

acho que so vai rolar com criando uma funcao e usando os comandos while

mas já tentei e n to consegueindo fazer

alguma luz?

Editado por Humm
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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

 

 

Editado por Dwry Stos
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...