Olá eu tenho a seguinte tabela (TABELA ESTOQUE CLIENTES):
Cliente | Material | Estoque
A | 52269769 | 3
A | 52277980 | 1
B | 15652862 | 12
A | 90246867 | 4
A | 90276394 | 2
B | 22549794 | 13
C | 52269769 | 1
D | 52141918 | 1
E | 90276394 | 1
F | 15652862 | 2
F | 52056319 | 1
F | 90276394 | 2
G | 52269769 | 1
G | 90355366 | 2
G | 90276394 | 1
H | 15652862 | 1
F | 52144820 | 3
I | 52269769 | 4
J | 90276394 | 3
Preciso de uma consulta que retorne o seguinte exemplo de resultado:
Material | Estoque | Cliente
52269769 | 9 | A;C;G;I
Ou seja, que some o estoque total por material e concatene os clientes que possuem esse item.
Alguém consegue por favor me ajudar?
Tentei fazer criando a seguinte função:
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
Porém quando coloco na consulta da seguinte forma:
SELECT Material, Sum(Estoque) AS Estoque, Concatenar("TABELA ESTOQUE CLIENTES","Material","Cliente",[Material]) as Consulta
FROM TABELA ESTOQUE CLIENTES
GROUP BY Material
Dá erro =/
Não sei o que fazer!
Cliente | Material | Estoque
A | 52269769 | 3
A | 52277980 | 1
B | 15652862 | 12
A | 90246867 | 4
A | 90276394 | 2
B | 22549794 | 13
C | 52269769 | 1
D | 52141918 | 1
E | 90276394 | 1
F | 15652862 | 2
F | 52056319 | 1
F | 90276394 | 2
G | 52269769 | 1
G | 90355366 | 2
G | 90276394 | 1
H | 15652862 | 1
F | 52144820 | 3
I | 52269769 | 4
J | 90276394 | 3
Preciso de uma consulta que retorne o seguinte exemplo de resultado:
Material | Estoque | Cliente
52269769 | 9 | A;C;G;I
Ou seja, que some o estoque total por material e concatene os clientes que possuem esse item.
Alguém consegue por favor me ajudar?
Tentei fazer criando a seguinte função:
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
Porém quando coloco na consulta da seguinte forma:
SELECT Material, Sum(Estoque) AS Estoque, Concatenar("TABELA ESTOQUE CLIENTES","Material","Cliente",[Material]) as Consulta
FROM TABELA ESTOQUE CLIENTES
GROUP BY Material
Dá erro =/
Não sei o que fazer!