FoxPro/Visual FoxPro - informes

   
Vista:

informes

Publicado por sebastian (244 intervenciones) el 06/11/2009 15:37:27
Hola experto necesito crear un informe por ejemplo tengo tres tablas en la primera tengo a mis clientes y la sengunda sus aportes las tercera tengo esta estructura cod_cli enero, febrero, marzo, abril, etc. entonces guardo en la tercera tabla solo los cod_cli de esta manera.

Nota:cada vez que registros sus aportes de los clientes tengo un campo que guarda el mes

SELEC clientes


GO top
DO while !eof()
SCATTER memvar && Copia todos los campos de la tabla
SELEC meses
APPEND blank
**GATHER memvar&& Pega lo copiado en la tabla especificada
replace meses.cod_cli with clientes.cod_cli
SELEC clientes
Skip
ENDDO

todo muy bien luego tengo este segundo codigo el problema es que no copia nada en febrero y como podria hacer para especificar el año por ejemplo si quisiera los meses del 2008

SELEC meses
GO top
DO while !eof()
SELEC aportes
SET order to cod_cli && El indice del codigo que evaluara
SEEK meses.cod_cli
IF found()
IF aportes.ap_mes = 1
SELEC meses
REPLACE enero with aportes.monto
IF aportes.ap_mes = 2
SELEC meses
REPLACE febrero with aportes.monto
ENDIF
endif
endif
seleC meses
Skip
ENDDO

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauricio

Informes

Publicado por Mauricio (1368 intervenciones) el 06/11/2009 16:29:09
Sebastian, tengo una observacion:
*---
SELEC clientes
GO top
DO while !eof()
SCATTER memvar && Copia todos los campos de la tabla
SELEC meses
APPEND blank
**GATHER memvar&& Pega lo copiado en la tabla especificada
replace meses.cod_cli with clientes.cod_cli
SELEC clientes
Skip
ENDDO
*---
La instrucion replace meses.cod_cli with clientes.cod_cli esta demas pues con el gather memvar lo haces, entonces porque?
Ahora como no se la estructura de tus tablas solo medio se conoce la tabla meses, en el caso de clientes solo copia el cod_cli nada mas!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio

Informes

Publicado por Mauricio (1368 intervenciones) el 06/11/2009 17:04:28
Sebastian, cambia la segunda parte de tu proceso por esto:
*----------
SELEC aportes
GO top
SCAN
SELEC meses
IF SEEK(aportes.cod_cli )
IF aportes.ap_mes = 1
REPLACE enero with aportes.monto
ENDIF
IF aportes.ap_mes = 2
REPLACE febrero with aportes.monto
ENDIF
IF aportes.ap_mes = 3
REPLACE marzo with aportes.monto
ENDIF
IF aportes.ap_mes = 4
REPLACE abril with aportes.monto
ENDIF
IF aportes.ap_mes = 5
REPLACE mayo with aportes.monto
ENDIF
IF aportes.ap_mes = 6
REPLACE junio with aportes.monto
ENDIF
IF aportes.ap_mes = 7
REPLACE julio with aportes.monto
ENDIF
IF aportes.ap_mes = 8
REPLACE agosto with aportes.monto
ENDIF
IF aportes.ap_mes = 9
REPLACE septiembre with aportes.monto
ENDIF
IF aportes.ap_mes = 10
REPLACE octubre with aportes.monto
ENDIF
IF aportes.ap_mes = 11
REPLACE noviembre with aportes.monto
ENDIF
IF aportes.ap_mes = 12
REPLACE diciembre with aportes.monto
ENDIF
ELSE
* Mensaje "No Encontrado"
endif
sele aportes
ENDSCAN
*----- Suerte!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Informes

Publicado por GABINO (2 intervenciones) el 06/11/2009 18:13:05
oye no tendras una nomina sencilla de unos cuantos campos en visual fox pro es para una tarea. Te lo agradeceria bastante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Informes

Publicado por sebastian (244 intervenciones) el 06/11/2009 18:33:32
gracias tenias razon sobre SCATTER memvar ya elimine el replace y mucha gracias por el segundo procedimiento salio muy bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Informes

Publicado por sebastian (244 intervenciones) el 06/11/2009 18:57:07
Hola otra pregunta en mi tabla aportes tambien guardo la fecha por año como haria para que el programa corra de acuerdo al año que selecciono en un combo gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio

Informes

Publicado por Mauricio (1368 intervenciones) el 06/11/2009 20:02:53
Pon todo el proceso en el CLICK del combo pero tienes que modificar algo para que realice la busqueda por año!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio

Informes

Publicado por Mauricio (1368 intervenciones) el 06/11/2009 20:27:36
Esto lo pones en el CLICK del combobox:
*---
SELEC aportes
SET FILTER TO YEAR(aportes.fecha) = THISFORM.combobox1.value
GO top
SCAN
SELEC meses
IF SEEK(aportes.cod_cli )
IF aportes.ap_mes = 1
REPLACE enero with aportes.monto
ENDIF
IF aportes.ap_mes = 2
REPLACE febrero with aportes.monto
ENDIF
IF aportes.ap_mes = 3
REPLACE marzo with aportes.monto
ENDIF
IF aportes.ap_mes = 4
REPLACE abril with aportes.monto
ENDIF
IF aportes.ap_mes = 5
REPLACE mayo with aportes.monto
ENDIF
IF aportes.ap_mes = 6
REPLACE junio with aportes.monto
ENDIF
IF aportes.ap_mes = 7
REPLACE julio with aportes.monto
ENDIF
IF aportes.ap_mes = 8
REPLACE agosto with aportes.monto
ENDIF
IF aportes.ap_mes = 9
REPLACE septiembre with aportes.monto
ENDIF
IF aportes.ap_mes = 10
REPLACE octubre with aportes.monto
ENDIF
IF aportes.ap_mes = 11
REPLACE noviembre with aportes.monto
ENDIF
IF aportes.ap_mes = 12
REPLACE diciembre with aportes.monto
ENDIF
ELSE
* Mensaje "No Encontrado"
endif
sele aportes
ENDSCAN
SET FILTER TO
*----- Suerte!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Informes

Publicado por sebastian (244 intervenciones) el 09/11/2009 03:51:32
Gracias amigo te agradezco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar