Duda sobre bucle
Publicado por Mariel (11 intervenciones) el 18/01/2012 13:20:04
Que tal amigos,
Mi inconveniente se plantea al exportar una tabla a formato .txt, indagando en la red he conseguido ayuda y he logrado exportar la tabla con el siguiente código que coloco en un botón ubicado en un formulario con un combo y un textbox. Ahora bien, todo corre muy bien salvo que me ha pedido que ahora presente la exportación con otro formato. Este el el código que utilizo
On Error GoTo cmdExportar_Click_TratamientoErrores
Dim strArchivo As String, _
bytArchivo As Byte, _
strLinea As String, _
rst As Recordset, _
strSQL As String, _
strDelimitador As String
strDelimitador = Chr(ccDelimitador.Column(1))
strSQL = "SELECT * FROM AMBULATORIO"
' abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
bytArchivo = FreeFile
' obtengo el archivo a exportar del cuadro de texto
strArchivo = txtRuta
' abro el archivo de texto
Open strArchivo For Output As bytArchivo
If Not rst.EOF And Not rst.BOF Then
Do While Not rst.EOF
' exporto cada registro en una linea de texto
Print #bytArchivo, "AMBULATORIOI"
' Esto funciona como título simplemente
Print #bytArchivo, rst!PACIENTE & strDelimitador & ""; rst!Cuit_Red & strDelimitador & "" _
; rst!Vacío & strDelimitador & ""; rst!Matricula_Nacional_del_Profesional & strDelimitador & "" _
; rst!c_ambulatorio & strDelimitador & ""; rst!ID_RED & strDelimitador & "" _
; rst!C_prestador & strDelimitador & ""; rst!c_boca_atencion & strDelimitador & "" _
; rst!c_profesional & strDelimitador & "" _
; rst!f_fecha_atencion & strDelimitador & "" _
; rst!d_estado & strDelimitador & "" _
; rst!d_motivo_rechazo & strDelimitador & "" _
; rst!d_estado & strDelimitador & "" _
; rst!d_motivo_rechazo & strDelimitador & "" _
; rst!id_modalidad_presta & strDelimitador & "" _
; rst!n_nro_orden & strDelimitador & "" _
; rst!id_tipo_atencion & strDelimitador & "" _
; rst!id_beneficio & strDelimitador & "" _
; rst!f_fecha_egreso & strDelimitador & "" _
; rst!id_tipo_egreso & strDelimitador & "" _
; rst!d_observaciones & strDelimitador
Print #bytArchivo, "REL_PRACTICAS REALIZADASPORAMBULATORIO"
El problema es aquí, yo necesito que todas estas prácticas que aparecen se agrupe debajo de cada registro, creo que podría hacer un bucle que indique que mientras el campo "PACIENTE" sea el mismo exporte los campos solicitados y recién luego pase al siguiente... pero la verdad no he podido hacerlo!!
Print #bytArchivo, rst!PACIENTE & strDelimitador & ""; _
; rst!Vacio4 & strDelimitador & ""; _
; rst!Vacio5 & strDelimitador & ""; _
; rst!Vacio6 & strDelimitador & ""; _
; rst!c_ambulatorio2 & strDelimitador & ""; _
; rst!ni_codpresta & strDelimitador & ""; _
; rst!vch_codprestacion & strDelimitador & ""; _
; rst!f_fecha_practica & strDelimitador & ""; _
; rst!q_cantidad & strDelimitador & ""; _
; rst!c_prestador_solicita & strDelimitador & ""; _
; rst!c_profesional_solicita & strDelimitador
rst.MoveNext
Loop
End If
Esto hace que me exporte de esta forma
AMBULATORIO
28398,,,103208,0,0,0,1,0,21/12/2011,,,,,1,0,4,150283043309,,,,
REL_PRACTICAS REALIZADASPORAMBULATORIO
28398,,,,0,1,331129,21/12/2011 08:00,1,0,0,
AMBULATORIO
28398,,,103208,0,0,0,1,0,21/12/2011,,,,,1,0,4,150283043309,,,,
REL_PRACTICAS REALIZADASPORAMBULATORIO
28398,,,,0,1,331129,23/12/2011 08:00,1,0,0,
Y me piden que salga de esta forma
AMBULATORIO
28398,,,103208,0,0,0,1,0,21/12/2011,,,,,1,0,4,150283043309,,,,
REL_PRACTICAS REALIZADASPORAMBULATORIO
28398,,,,0,1,331129,21/12/2011 08:00,1,0,0,
28398,,,,0,1,331129,23/12/2011 08:00,1,0,0,
Como puede verse se han agrupado las prácticas para el mismo ambulatorio.
Gracias!!!!
Mi inconveniente se plantea al exportar una tabla a formato .txt, indagando en la red he conseguido ayuda y he logrado exportar la tabla con el siguiente código que coloco en un botón ubicado en un formulario con un combo y un textbox. Ahora bien, todo corre muy bien salvo que me ha pedido que ahora presente la exportación con otro formato. Este el el código que utilizo
On Error GoTo cmdExportar_Click_TratamientoErrores
Dim strArchivo As String, _
bytArchivo As Byte, _
strLinea As String, _
rst As Recordset, _
strSQL As String, _
strDelimitador As String
strDelimitador = Chr(ccDelimitador.Column(1))
strSQL = "SELECT * FROM AMBULATORIO"
' abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
bytArchivo = FreeFile
' obtengo el archivo a exportar del cuadro de texto
strArchivo = txtRuta
' abro el archivo de texto
Open strArchivo For Output As bytArchivo
If Not rst.EOF And Not rst.BOF Then
Do While Not rst.EOF
' exporto cada registro en una linea de texto
Print #bytArchivo, "AMBULATORIOI"
' Esto funciona como título simplemente
Print #bytArchivo, rst!PACIENTE & strDelimitador & ""; rst!Cuit_Red & strDelimitador & "" _
; rst!Vacío & strDelimitador & ""; rst!Matricula_Nacional_del_Profesional & strDelimitador & "" _
; rst!c_ambulatorio & strDelimitador & ""; rst!ID_RED & strDelimitador & "" _
; rst!C_prestador & strDelimitador & ""; rst!c_boca_atencion & strDelimitador & "" _
; rst!c_profesional & strDelimitador & "" _
; rst!f_fecha_atencion & strDelimitador & "" _
; rst!d_estado & strDelimitador & "" _
; rst!d_motivo_rechazo & strDelimitador & "" _
; rst!d_estado & strDelimitador & "" _
; rst!d_motivo_rechazo & strDelimitador & "" _
; rst!id_modalidad_presta & strDelimitador & "" _
; rst!n_nro_orden & strDelimitador & "" _
; rst!id_tipo_atencion & strDelimitador & "" _
; rst!id_beneficio & strDelimitador & "" _
; rst!f_fecha_egreso & strDelimitador & "" _
; rst!id_tipo_egreso & strDelimitador & "" _
; rst!d_observaciones & strDelimitador
Print #bytArchivo, "REL_PRACTICAS REALIZADASPORAMBULATORIO"
El problema es aquí, yo necesito que todas estas prácticas que aparecen se agrupe debajo de cada registro, creo que podría hacer un bucle que indique que mientras el campo "PACIENTE" sea el mismo exporte los campos solicitados y recién luego pase al siguiente... pero la verdad no he podido hacerlo!!
Print #bytArchivo, rst!PACIENTE & strDelimitador & ""; _
; rst!Vacio4 & strDelimitador & ""; _
; rst!Vacio5 & strDelimitador & ""; _
; rst!Vacio6 & strDelimitador & ""; _
; rst!c_ambulatorio2 & strDelimitador & ""; _
; rst!ni_codpresta & strDelimitador & ""; _
; rst!vch_codprestacion & strDelimitador & ""; _
; rst!f_fecha_practica & strDelimitador & ""; _
; rst!q_cantidad & strDelimitador & ""; _
; rst!c_prestador_solicita & strDelimitador & ""; _
; rst!c_profesional_solicita & strDelimitador
rst.MoveNext
Loop
End If
Esto hace que me exporte de esta forma
AMBULATORIO
28398,,,103208,0,0,0,1,0,21/12/2011,,,,,1,0,4,150283043309,,,,
REL_PRACTICAS REALIZADASPORAMBULATORIO
28398,,,,0,1,331129,21/12/2011 08:00,1,0,0,
AMBULATORIO
28398,,,103208,0,0,0,1,0,21/12/2011,,,,,1,0,4,150283043309,,,,
REL_PRACTICAS REALIZADASPORAMBULATORIO
28398,,,,0,1,331129,23/12/2011 08:00,1,0,0,
Y me piden que salga de esta forma
AMBULATORIO
28398,,,103208,0,0,0,1,0,21/12/2011,,,,,1,0,4,150283043309,,,,
REL_PRACTICAS REALIZADASPORAMBULATORIO
28398,,,,0,1,331129,21/12/2011 08:00,1,0,0,
28398,,,,0,1,331129,23/12/2011 08:00,1,0,0,
Como puede verse se han agrupado las prácticas para el mismo ambulatorio.
Gracias!!!!
Valora esta pregunta
0