... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$182,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Concatenação de exames, por linha de amostra, em uma consulta

Usuário Silvano:

Boa noite!

Estou precisando muito de sua ajuda.

Tenho uma tabela chamada "vdrl_para_descobrir_gestantes", onde tem dois campos: - um chamado "Amostra" e outro "Exames".  Quando eu abro a tabela, me apresenta várias linhas, com Exames diferentes, mas com mesmo número de Amostra.  Preciso transformar estas diversas linhas de Exames diferentes, em apenas uma, como no exemplo abaixo:

Com está na tabela:

Amostra Exame
201104 GLI
201104 TSH - T4L
201104 CTF - UR - AUR - CPK


Preciso que fique assim na consulta:

Amostra Exame
201104 GLI - TSH - T4L - CTF - UR - AUR - CPK

 

Desde de já agradeço a oportunidade e atenção!

Suporte:

Silvano, segue o arquivo exemplo.

O função utilizada para concatenar os exames foi esta:

Public Function fncAgrupaExames(strAmostra As String) As String
Dim rs As DAO.Recordset
Dim strSql$
Dim strLista$
strSql = "SELECT * FROM VDRL_PARA_DESCOBRIR_GESTANTES "
strSql = strSql & "WHERE amostra =""" & strAmostra & """;"
Set rs = CurrentDb.OpenRecordset(strSql, 8)
Do While Not rs.EOF
    strLista = strLista & "-" & Trim(rs!Exames)
    rs.MoveNext
Loop
fncAgrupaExames = Mid(strLista, 2)
rs.Close
Set rs = Nothing
End Function

A função foi aplicada na consulta de agrupamento:

SELECT amostra, fncAgrupaExames([amostra]) AS Exame
FROM VDRL_PARA_DESCOBRIR_GESTANTES
GROUP BY amostra;

Usuário Silvano:

Maravilha, perfeito!

Muito obrigado!

Download

 


 

 


Não há comentário

Envie seu comentário: