14/07/2008, 14:52
|
| | Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 16 años, 4 meses Puntos: 0 | |
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 |