Re: Juntar en un campo otros campos de varios registros

24/04/2011 - 17:32 por Ju | Informe spam
Pancho, aparte de repetir la respuesta de Chema Fueyo, sin corregir ni los errores gramaticales en el código ¿que es lo que pretendes?, no veo que tu respuesta sea util.

carlos, la respuesta a tu cuestión pasa por utilizar una función como te dice Jose Mª Fueyo para obtener en un string la lista, en la función que te propone utiliza los apellidos como nexo de unión de los familiares, me imagíno que tendrás algún campo que relacione a los familiares con los socios, algo como IdSocio en la tabla tblFamiliares, debes incluir este campo en la función para aplicar el filtro, si cuendas algo mas (tablas, campos, ...) podríamos ponerte una función mas exacta.

Preguntas similare

Leer las respuestas

#1 carlos batata
26/04/2011 - 16:10 | Informe spam
On 24 abr, 12:32, "" wrote:
Pancho, aparte de repetir la respuesta de Chema Fueyo, sin corregir ni los errores gramaticales en el código ¿que es lo que pretendes?, no veo que tu respuesta sea util.

carlos, la respuesta a tu cuestión pasa por utilizar una función como te dice Jose Mª Fueyo para obtener en un string la lista, en la función que te propone utiliza los apellidos como nexo de unión de los familiares, me imagíno que tendrás algún campo que relacione a los familiares con los socios, algo como IdSocio en la tabla tblFamiliares, debes incluir este campo en la función para aplicar el filtro, si cuendas algo mas (tablas, campos, ...) podríamos ponerte una función mas exacta.



Muchas gracias a todos, probare esto ultimo y les pasare las tablas de
socios y familiares para aclararles mas el tema que necesito, y
respondiendo a una de las preguntas si tengo un campo de enganche
entre titular y familia, que es el numero de socio.
Respuesta Responder a este mensaje
#2 carlos batata
29/04/2011 - 21:35 | Informe spam
On 26 abr, 11:10, carlos batata wrote:
On 24 abr, 12:32, "" wrote:

> Pancho, aparte de repetir la respuesta de Chema Fueyo, sin corregir ni los errores gramaticales en el código ¿que es lo que pretendes?, no veo que tu respuesta sea util.

> carlos, la respuesta a tu cuestión pasa por utilizar una función como te dice Jose Mª Fueyo para obtener en un string la lista, en la función que te propone utiliza los apellidos como nexo de unión de los familiares, me imagíno que tendrás algún campo que relacione a los familiares con los socios, algo como IdSocio en la tabla tblFamiliares, debes incluir este campo en la función para aplicar el filtro, si cuendas algo mas (tablas, campos, ...) podríamos ponerte una función mas exacta.

Muchas gracias a todos, probare esto ultimo y les pasare las tablas de
socios y familiares para aclararles mas el tema que necesito, y
respondiendo a una de las preguntas si tengo un campo de enganche
entre titular y familia, que es el numero de socio.



me funciono el tema de juntar los nombres de familiares en un campo,
el problema es que me pone tantos registros como familiares tiene el
socio, y yo solo quiero un registro del socio con el campo con los
nombres de los familiares, espero haberme explicado.
Respuesta Responder a este mensaje
#3 Pancho
01/05/2011 - 22:20 | Informe spam
Hola Carlos.
He probado soluciones a tu problema y he podido resolverlo. Primero,
para ver mas claramente el problema he creado dos tablas (TblSocios y
TblFamiliarSocio), la tabla "TblSocios" tiene tres campos: IdSocio,
Nombre, Apellido y la tabla "TblFamiliarSocio" tiene cuatro campos
IdFamiliar, IdSocio, Nombre, Apellido. Luego cree una consulta de la
tabla "TblSocios" con sus tres campos y uno calculado con la funcion
ListaFamilia:

SELECT TblSocios.IdSocio, TblSocios.Nombre, TblSocios.Apellido,
ListaFamilia([IdSocio],"TblFamiliarSocio") AS Lista
FROM TblSocios;

Ahora, el secreto esta en la funcion ListaFamilia, la cual la cree en
un modulo con el sgte codigo:


Public Function ListaFamilia(iIdSocio As Integer, _
cTablaFamilia As String) As String

Dim oRS As New ADODB.Recordset
Dim oCon As ADODB.Connection
Dim cFiltro As String
Dim cLista As String

On Error GoTo GestionError

Set oCon = CurrentProject.Connection
cFiltro = "IdSocio=" & iIdSocio
oRS.Open cTablaFamilia, oCon, adOpenForwardOnly, adLockReadOnly
oRS.Filter = cFiltro
If Not (oRS.EOF And oRS.BOF) Then
Do While Not oRS.EOF
cLista = cLista & oRS("Nombre")
cLista = cLista & " " & oRS("Apellido") & ", "
oRS.MoveNext
Loop
End If
ListaFamilia = cLista
Exit Function

GestionError:
ListaFamilia = ""
MsgBox Err.Description, vbCritical, "Error"

End Function

He probado el codigo y la consulta y todo funciona, aparece la lista
de socios con el campo calculado de la lista de familiares, espero te
sirva.
Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida