FoxPro/Visual FoxPro - ¿COMO GUARDAR REGISTRO NUMERICO? INCREMENTAL

   
Vista:

¿COMO GUARDAR REGISTRO NUMERICO? INCREMENTAL

Publicado por helder martinez  (710 intervenciones) el 19/07/2008 20:35:10
Hola amigos del foro LWP

Aqui otra vez molestandolos.

Estoy desarrollando un sistema para creditos, pero quiero que mi sistema me enumere cada cuota que el cliente pagara.

por ejemplo que haga esto.

#_CREDITO CUOTA_# FECHA INTERES CUOTA TOTAL_CUOTA
-----------------------------------------------------------------------------------------------------------------------
00781 1 1-2-08 12.00 200.00 212.00
0078 2 2-3-08 12.00 200.00 212.00
37808 3 3-4-08 12.00 200.00 212.00

----
todos los registros me los guarda bien de esa forma, pero no me guarda CUOTA_# , yo quiero que cada cuota me la valla enumerando asi como el ejemplo anterior desde 1 hasta 3, 4, 5 , etc.

ahora solo logro esto, pero en CUOTA_# solo me guarda 0 ceros.

#_CREDITO CUOTA_# FECHA INTERES CUOTA TOTAL_CUOTA
-----------------------------------------------------------------------------------------------------------------------
00781 0 1-2-08 12.00 200.00 212.00
0078 0 2-3-08 12.00 200.00 212.00
37808 0 3-4-08 12.00 200.00 212.00

no se si me explico, ojala me entiendan

este es el codigo que hago para almacenar en la tabla

**************************************************************************************************************************
FOR n = 1 TO nN_cuotas
**calculando interes
nInteres = (nPrecio_art * (nTasa_interes / 100) * 30) / 360


nDia_logico = nDia_logico + nDias
dFecha= dFecha_aprob + nDia_logico

*** ***CODIGO PARA ALMACENAR EN LA TABLA *******************
SELECT _tempCreditos_fecha_pago
APPEND BLANK
REPLACE n_credito WITH nN_credito
REPLACE cuota_n WITH nCuota_n ******ESA LINEA PARA ENUMERAR LA CUOTA DE MENOR A MAYOR ES QUE NO LOGRO HACERLA

REPLACE fecha WITH dFecha
REPLACE interes WITH nInteres
REPLACE cuota WITH nCuota
REPLACE total_cuota WITH nCuota + nInteres
ENDFOR

*************************************************************************************************************************

SALUDES, ESPERO SU COMPRENSION Y SUS IDEAS

MIL GRACIAS

HELDER MARTINEZ
YORO, YORO
HONDURAS C.A
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

RE:¿COMO GUARDAR REGISTRO NUMERICO? INCREMENTAL

Publicado por kong (681 intervenciones) el 19/07/2008 23:14:43
hola.
determinar cual es el ultimo numero de pago. y luego sumar 1
CALCULATE MAX() FOR.....
..............
leete la ayuda de calculate max()....for ... to..
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

¿COMO GUARDAR REGISTRO NUMERICO? INCREMENTAL

Publicado por Mauricio (1368 intervenciones) el 20/07/2008 02:01:38
prueba esto:
CLOSE TABLES all
USE Credito IN 0
SELECT Credito
nn_credito = 3678
nn_cuotas = 3
ndia_logico = 3
ndias = 30
nprecio_art = 75
ntasa_interes = 12
dfecha_aprob = DATE()
FOR n = 1 TO nN_cuotas
**calculando interes
nInteres = (nPrecio_art * (nTasa_interes / 100) * 30) / 360
*
nDia_logico = nDia_logico + nDias
dFecha= dFecha_aprob + nDia_logico
*
*** ***CODIGO PARA ALMACENAR EN LA TABLA *******************
APPEND BLANK
REPLACE n_credito WITH (nN_credito + 1)
REPLACE cuota WITH n
REPLACE fecha WITH dFecha
REPLACE interes WITH nInteres
REPLACE total WITH n + nInteres
nn_credito = nn_credito + 1 && Esto a manera de ejemplo
ENDFOR
Helder, la mayoria de tus variables me las he inventado pues tu debes de capturarlas antes, las disculpas del caso.
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:¿COMO GUARDAR REGISTR***GRACIAS AMIGOS***

Publicado por HELDER MARTINEZ (710 intervenciones) el 21/07/2008 19:25:57
Mil gracias Kong esta interesante lo del calculate y max(), Mauricio tienes razon no puse la definicion de las varuiables gracias por tu idea amigo.....

ya solucione de esta forma;

**forma corta o demostracion***
nCuota_nLogico = 1
FOR n = 1 TO nN_cuotas
nCuota_n = nCuota_n + nCuota_nLogico
REPLACE cuota_n WITH nCuota_n
endfor



**************************************************************************************************************
********************************************************************************************************
*********************************************************************************************

***este es todo el codigo***
PUBLIC nN_credito, cNom_Cliente, cIdentidad, nPrecio_art, nN_cuotas, dFecha_aprob,;
dFecha_venci, nDias, cFormas_pago, nD, nCuota, nN_cuotas, nInteres, nInteres_mora, nTasa_interes, nPlazo_dias,;
nTotal_deuda, nTasa_mora, dFecha_pago, nDia_logico, nInteres_total, nCuota_nLogico, nCuota_n

nPrecio_art= thisform.txtPrecio_art.Value
nN_cuotas= thisform.txtN_cuotas.Value
dFecha_aprob= thisform.txtFecha_aprob.Value
dFecha_venci= thisform.txtFecha_venc.Value
cForma_pago= thisform.cboForma_pago.Value
nTasa_interes= thisform.txtTasa_interes.Value
nTasa_mora= thisform.txtTasa_mora.Value
nDias= 0
nPlazo_dias = thisform.txtPlazo_dias.Value
**
nN_credito = thisform.txtN_credito.Value
cNom_Cliente= ALLTRIM(thisform.cboNom_cliente.Value)
cIdentidad= ALLTRIM(thisform.txtIdentidad.Value)
nInteres_total= thisform.txtInteres_total.Value
nTotal_deuda= thisform.txtTotal_deuda.Value
**
nCuota_n = 0



****
IF cForma_pago = "ANUAL"
nDias = 360
nD = nN_cuotas * 360
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF
*******************************
IF cForma_pago = "SEMESTRAL"
nDias = 180
nD = nN_cuotas * 180
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF
*******************************
IF cForma_pago = "CUATRIMESTRAL"
nDias = 120
nD = nN_cuotas * 120
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF
*********************************
IF cForma_pago = "TRIMESTRAL"
nDias = 90
nD = nN_cuotas * 90
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF
********************************
IF cForma_pago = "BIMESTRAL"
nDias = 60
nD = nN_cuotas * 60
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF
*******************************
IF cForma_pago = "MENSUAL"
nDias = 30
nD = nN_cuotas * 30
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF
*******************************
IF cForma_pago = "QUINCENAL"
nDias = 15
nD = nN_cuotas * 15
thisform.txtFecha_venc.Value = dFecha_aprob + nD
thisform.txtPLazo_dias.Value = nD
ENDIF
******************************
IF cForma_pago = "SEMANAL"
nDias = 7
nD = nN_cuotas * 7
thisform.txtFecha_venc.Value = dfecha_aprob + nD
thisform.txtPlazo_dias.Value = nD
ENDIF





*************************************************************************
**eliminamos todos los registros**
SELECT _tempCreditos_fecha_pago
DELETE ALL

******************************************************************************
**calculando cuota***
nCuota = nPrecio_art / nN_cuotas
nDia_logico = 0
nCuota_nLogico = 1

***********************
FOR n = 1 TO nN_cuotas
**calculando interes / interes tasa flat o fija
nInteres = (nPrecio_art * (nTasa_interes / 100) * 30) / 360
*interes sobre saldo
*nPrecio_art = nPrecio_art - nCuota

nDia_logico = nDia_logico + nDias
dFecha_pago = dFecha_aprob + nDia_logico
**
nCuota_n = nCuota_n + nCuota_nLogico
***
SELECT _tempCreditos_fecha_pago
APPEND BLANK
REPLACE n_credito WITH nN_credito
REPLACE nom_cliente WITH cNom_Cliente
REPLACE identidad WITH cIdentidad
***
REPLACE cuota_n WITH nCuota_n
***
REPLACE fecha_pago WITH dFecha_pago
REPLACE n_cuotas WITH nN_cuotas
REPLACE interes WITH nInteres
REPLACE cuota WITH nCuota
REPLACE total_cuota WITH nCuota + nInteres

****suma total deuda
SUM total_cuota TO nTotal_deuda
thisform.txtTotal_deuda.Value = nTotal_deuda

**suma intereses
SUM interes TO nInteres_total
thisform.txtInteres_total.Value= nInteres_total
ENDFOR


thisform.list1.RowSource = "_tempCreditos_fecha_pago.fecha_pago, cuota, interes, total_cuota"
thisform.list1.Refresh
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