Imprimir página | Cerrar ventana

Generar un Archivo de Texto desde Acces

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86121
Fecha de impresión: 29/Marzo/2024 a las 02:37


Tema: Generar un Archivo de Texto desde Acces
Publicado por: ferzacha77
Asunto: Generar un Archivo de Texto desde Acces
Fecha de publicación: 20/Septiembre/2021 a las 22:19
Cuento con una Tabla en acces que contine 4 campos, segun a imagen

CODIGO IPS FECHA NOMBRE ARCHIVO No REGISTROS
110010606501 30/06/2021 AC 8
110010606501 30/06/2021 AF 19
110010911101 30/06/2021 AC 7
110010911101 30/06/2021 AF 10
110010945601 30/06/2021 AC 2
110010945601 30/06/2021 AF 2
180010002501 30/06/2021 AF 3
180010002501 30/06/2021 AC 4
180010002501 30/06/2021 AP 7
190010003101 30/06/2021 AP 180


Debo generar un archivo de Consolidado la tabla de Siguiente Manera

110010606501|110010911101|110010945601|180010002501,30/06/2021,AC,21
110010606501|110010911101|110010945601|180010002501,30/06/2021,AF,34
180010002501|190010003101,30/06/2021,AP,187


Lo Realice en Excel pero solo me permite un cantidad de Registro, o Me sale el Mensaje de Desbordamiento.





Respuestas:
Publicado por: pitxiku
Fecha de publicación: 21/Septiembre/2021 a las 09:36
Puedes crear una consulta de totales que agrupe por la tercera columna y sume la cuarta; y para "unir" o "encadenar" la primera columna usar una función personalizada, como esta de Raipon:

http://sqlraipon.blogspot.com/2008/05/funcin-agregada-de-dominio-encadenar.html" rel="nofollow - Ejemplos de lenguaje sql para Access: FUNCIÓN AGREGADA DE DOMINIO ENCADENAR (sqlraipon.blogspot.com)


Publicado por: ferzacha77
Fecha de publicación: 02/Octubre/2021 a las 23:35
Buenos Dias.. No pude hacerla Funcionar...


Publicado por: Mihura
Fecha de publicación: 03/Octubre/2021 a las 13:07
¿Y que has hecho? ... porque con los datos que das complicado echarte una mano ..

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: ferzacha77
Fecha de publicación: 04/Octubre/2021 a las 05:25
ESTA ES LA TABLA
CODIGO DEL PRESTADOR FECHA DE REMISION TIPOARCHIVOS NUEVOTOTALREGISTROS
186100200302 31/07/2021 AF 3
187530001601 31/07/2021 AF 56
187560200103 31/07/2021 AF 13
187850200102 31/07/2021 AF 31
188600200101 31/07/2021 AF 47
192560808401 31/07/2021 AF 1
196980001601 31/07/2021 AF 1
254730030301 31/07/2021 AF 2
270010077002 31/07/2021 AF 7
270010116901 31/07/2021 AF 2
410010020401 31/07/2021 AF 1

Public Function Encadenar(Separador As String, tabla As String, Campo As String, _
Optional Condición As String) As String
On Error Resume Next
Dim rst As New ADODB.Recordset

rst.Open _
"Select " & Campo & " From (" & tabla & ") WHERE " & Campo & " Is not null" & _
IIf(Len(Condición) > 0, " AND " & Condición, ""), _
CurrentProject.Connection, adOpenStatic, adLockReadOnly

If Err.Number > 0 Then
Encadenar = ""
rst.Close
Exit Function
End If

If rst.EOF Then
Encadenar = ""
Else
Encadenar = rst.GetString(adClipString, , Separador, Separador)
Encadenar = Left(Encadenar, Len(Encadenar) - Len(Separador))
End If

rst.Close
End Function


El ERROR AL HACER LA CONSULTA

SELECT CT_NUEVO.[FECHA DE REMISION], Encadenar(", ","TIPOARCHIVOS","NUEVOTOTALREGISTROS","CODIGO DEL PRESTADOR=" & [CT_NUEVO].[CODIGO DEL PRESTADOR]) AS RIPS
FROM CT_NUEVO;








Publicado por: Mihura
Fecha de publicación: 04/Octubre/2021 a las 09:08
Con estos datos:

FECHA TIPOARCHIVOS NUEVOTOTALREGISTROS CODIGO
31/07/21 AF 3 186100200302
31/07/21 AC 56 187530001601
31/07/21 AP 13 187560200103
31/07/21 AF 31 187850200102
31/07/21 AC 47 188600200101
31/07/21 AP 1 192560808401
31/07/21 AF 1 196980001601
31/07/21 AC 2 254730030301
31/07/21 AP 7 270010077002
31/07/21 AF 2 270010116901
31/07/21 AC 1 410010020401


Yo obtengo esto:

TIPOARCHIVOS FECHA SumaDeNUEVOTOTALREGISTROS Expr1
AC 31/07/21 106 187530001601,188600200101,254730030301,410010020401
AF 31/07/21 37 186100200302,187850200102,196980001601,270010116901
AP 31/07/21 21 187560200103,192560808401,270010077002


Vamos por partes, como diría nuestro amigo Jack:
- lo primero es que tienes que hacer una consulta que solo obtenga un registro por cada tipo de archivo y fecha, sumarizando los totales

En cuanto la tengas vamos a enlazar la función de Ramón.




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: ferzacha77
Fecha de publicación: 12/Octubre/2021 a las 05:35
Pero le realizo alguna modificacion..


Publicado por: Mihura
Fecha de publicación: 12/Octubre/2021 a las 09:02
¿?

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es



Imprimir página | Cerrar ventana