Access - Concatenar registros con un mismo ID

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por José (4 intervenciones) el 12/03/2021 10:08:39
Hola, estoy intentando concatenar registros (CLAS_POT_1) de una tabla a partir de un campo cuyos registros se repiten (NREG_NEW) y sumar otro campo (POLY_AREA). En la imagen adjunta se puede visualizar más claramente.

Soy nuevo en ACCES y no consigo el resultado. Sí me podéis orientar un poco o ayudarme.

Gracias

Un saludo


POT_DUPLICADOS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto
Val: 1.079
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por Norberto (753 intervenciones) el 12/03/2021 12:27:22
Hola:

Debes de hacer una consulta de totales. Agrupas por NREG_NEW y CLAS_POT_1 y, para el campo POLY_AREA, realizas una suma.

Captura

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Concatenar registros con un mismo ID

Publicado por Anonimo (2267 intervenciones) el 12/03/2021 12:36:03
.- Utilizar el campo 'CLAS_POT_1' para filtrar (si se requiere filtrar para crear el subconjunto) o se crearan mas grupos de los necesarios

.- Agrupar por el campo 'NERG_NEW'

.- Sumar el campo 'POLY_AREA'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por José (4 intervenciones) el 12/03/2021 12:50:19
Muchas gracias,

lo único que al realizar esta agrupación pierdo la información de los distintos campos (CLAS_POT_1), sólo mantiene un sólo registro, me gustaría poder concatenarlos, es decir obtener estos tres registros en uno. Concatenando Sistemas Generales, Suelo No urbanizable y sistemas generales.

Un saludo


pot_dupli
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.079
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por Norberto (753 intervenciones) el 12/03/2021 13:10:35
Hola:

Define concatenar o pon una muestra de cómo quieres que salgan los resultados.

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por José (4 intervenciones) el 12/03/2021 13:42:57
Hola,

Sí, lo que quiero obtener es el registro que aparece remarcado a partir de los 3 registros de arriba.

pot_dupli

Gracias

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.079
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por Norberto (753 intervenciones) el 15/03/2021 14:45:00
Hola de nuevo:

Se me ocurre esta solución:

Creas una consulta tal que así:

Captura

Observarás que uso una función para obtener la concatenación de CLAS_POT_1. Esa función la defines en un módulo con el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Option Compare Database
Option Explicit
 
Public Function ConcatenarCLAS_POT_1(NREG_NEW As String) As String
    Dim Concat As String, Rst As DAO.Recordset
    'Abrimos un recordset con todos los registros corespondientes a NREG_NEW
    Set Rst = CurrentDb.OpenRecordset("SELECT Tabla7.CLAS_POT_1 FROM Tabla7 WHERE NREG_NEW = '" & NREG_NEW & "';")
    Do While Not Rst.EOF    'lo recorremos
        If Concat = "" Then 'Si es la primera vez
            Concat = Rst!clas_pot_1 'Ponemos el valor de CLAS_POT_1
        ElseIf InStr(Concat, Rst!clas_pot_1) = 0 Then
            'En caso contrario, y si no existe ya ese texto,
            'lo añadimos
            Concat = Concat & " | " & Rst!clas_pot_1
        End If
        Rst.MoveNext
        DoEvents
    Loop
    ConcatenarCLAS_POT_1 = Concat 'Devolvemos el resultado
    Rst.Close   'Cerramos el recordset
    Set Rst = Nothing   'Vaciamos la variable
 
End Function

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Concatenar registros con un mismo ID

Publicado por Fernando (15 intervenciones) el 17/03/2021 12:59:06
Muchas gracias por este aporte! puede aplicarlo a mi necesidad perfectamente...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Concatenar registros con un mismo ID

Publicado por José (4 intervenciones) el 17/03/2021 13:01:54
Muchas gracias, lo he resuelto con el código y módulo que has aportado

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar