Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Concatenar valores em um campo, como?


Humm

Question

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?

Edited by Humm
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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

 

 

Edited by Dwry Stos
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...