Jump to content

[Resolvido] Juntar vários records numa string


Recommended Posts

Olá pessoal,

preciso de fazer uma coisa estranha em Access:

Tenho uma query que me dá uma tabela deste tipo:

Cliente | Valor

A          | 2

A          | 6

A          | 15

B          | 4

C          | 6

C          | 8

e pretendo fazer uma query que agarre neste resultado e me dê uma tabela tipo:

Cliente | Valores

A          | 2;6;15

B          | 4

C          | 6;8

ou seja, que me transforme os diversos valores numa espécie de string...

Como é que posso fazer isto? Já estive a ver as funções existentes mas não encontrei nenhuma que me desse algo como isto. Suponho que tenha de fazer uma função em VBA, mas não é o meu forte.

Alguém pode ajudar?

Link to comment
Share on other sites

Olá,

estou a usar a versão 2003 e pretendo obter o resultado em query ou tabela, que depois vai ser inserida numa folha excel de forma automática usando o import external data.

A ideia seria criar uma função que fizesse isso e que pude-se ser incluida na query como as funções já existentes do Access. Mas como nunca fiz nenhuma coisa assim nem sei por onde começar, nem que tipo de argumentos passar.

Link to comment
Share on other sites

Já consegui! Estou maravilhado comigo mesmo 😄

Criei uma função muito simples:

Dim ss As String

Dim Last_Client As Integer

Function ConvArray(Client As Integer, obj As String) As String

    If Last_Client = Client Then

        ss = ss & obj & ";"

        Last_Client = Client

    Else

        ss = obj & ";"

        Last_Client = Client

    End If

    ConvArray = ss

End Function

depois é só usar na query ConvArray(Cliente;valor) e definir o total para Max.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.