Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Concatenar Registros en Access 2003 (http://www.forosdelweb.com/f21/concatenar-registros-access-2003-a-605582/)

Arija 14/07/2008 00:38

Concatenar Registros en Access 2003
 
Hola, solicito de vuestra ayuda por lo siguiente: soy neófito en el foro y casi en el manejo de Access, donde trato de hacer mis pinitos. Quiero concatenar los registros de una consulta de la siguiente forma: Tengo el campo "Cod" y el campo "descripción", lo que pretendo es que lo siguiente:

Cod Descripción
Ti papas
Ti coles
Ti tomates

aparezca como: Cod (Ti) Descripción (papas; coles; tomates)

Muy agradecido en lo que podais ayudarme.

Taribo007 14/07/2008 01:32

Respuesta: Concatenar Registros en Access 2003
 
Quires conctaenar los ado en un nuevo campo, prueba asi:

SELECT Cod & Descripcion AS NuevoCampo
FROM Tabla;

Un saludo

Arija 14/07/2008 02:55

Respuesta: Concatenar Registros en Access 2003
 
Cita:

Iniciado por Taribo007 (Mensaje 2489762)
Quires conctaenar los ado en un nuevo campo, prueba asi:

SELECT Cod & Descripcion AS NuevoCampo
FROM Tabla;

Un saludo

Te agradezco mucho, pero mira lo que quiero es concatenar todos los registros pertenecientes a un código. Que se contengan en un solo registro.

Perdona si es que no me explico bien.
Gracias

Taribo007 14/07/2008 03:17

Respuesta: Concatenar Registros en Access 2003
 
No se si es esto loq ue necesitas:

http://www.forosdelweb.com/f21/mostr...nforme-596911/

Un saludo

Arija 14/07/2008 14:52

Respuesta: Concatenar Registros en Access 2003
 
Gracias Taribo007, en la dirección que me pasaste bajé un archivo de Access donde está desarrollado el módulo que concatena los registros. Pero ejecuto la consulta y solo me concatena siete u ocho registros. ¿Alguien me pude decir a que se debe? A continuación pego el módulo tal como está escrito:

Option Compare Database
Option Explicit

'Necesita una referencia a Microsoft DAO x.y Object Library
'Concatena los registros introducidos en un campo en un único dato.
'Parámetros:
' - NombreCampo: nombre del campo que contiene los datos a unir.
' - NombreTabla: nombre de la tabla que tiene el campo.
' - Criterio: Sentencia Where (sin el Where), que delimita los registros.
' - Separador: Carácter o caracteres que separarán los datos.
Public Function ConcatenarCampo(NombreCampo As String, _
NombreTabla As String, _
Optional Criterio As String = "", _
Optional Separador As String = " ") As String
Dim rst As DAO.Recordset
Dim strSql As String
Dim strSep As String
Dim strRes As String

If Nz(NombreCampo, "") <> "" Then
If Nz(NombreTabla, "") <> "" Then
strSql = "SELECT " & NombreCampo
strSql = strSql & " FROM " & NombreTabla

If Nz(Criterio, "") <> "" Then
strSql = strSql & " WHERE " & Criterio
End If

strSep = Nz(Separador, "")

Set rst = CurrentDb.OpenRecordset(strSql)

With rst
If (Not .EOF) And (Not .BOF) Then
Do While Not .EOF
strRes = strRes & .Fields(0)
.MoveNext

If Not .EOF Then
strRes = strRes & strSep
End If
Loop
End If

End With
End If
End If

ConcatenarCampo = strRes
End Function


La zona horaria es GMT -6. Ahora son las 00:56.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.