FoxPro/Visual FoxPro - Por què razòn?????

 
Vista:
sin imagen de perfil

Por què razòn?????

Publicado por Antonio Moronta (134 intervenciones) el 23/03/2007 15:55:36
Por que razón en una cuadricula me pasa lo siguiente:

Campos de la cuadricula

Código Descripción Unidad Costo Ordenado Recibido Pendiente Total

Entonces, en el evento KeyPress de la columna Recibido tengo el siguiente código:

IF nKeyCode=13
SELECT 4
IF this.Value=> This.parent.parent.Column5.Text1.Value
This.parent.parent.Column6.Text1.Value=this.Value*This.parent.parent.Column4.Text1.Value && Aquí multiplico lo Recibido por el Costo y lo alojo en el Total.
sum total to ThisForm.MONTO1.Text1.value && Aquí sumarizo el Total

IF this.Value<This.parent.parent.Column5.Text1.Value && En caso de recibir menos de lo Ordenado.
STORE This.parent.parent.Column4.Text1.Value*this.Value TO; This.parent.parent.Column6.Text1.Value
sum total to ThisForm.MONTO1.Text1.value
STORE This.parent.parent.Column5.Text1.Value-this.Value TO; This.parent.parent.Column8.Text1.Value

ENDIF

ENDIF

Bien, me calcula el total muy bien pero en el caso de la primera línea. Ahora, cuando bajo con la tecla flecha abajo a la siguiente línea y entro otro valor, entonces me multiplica lo Recibido que entro en ese campo por el Costo de la línea anterior y no por el Costo de la línea actual. Realmente he intentado de todo y no entiendo por que pasa este comportamiento tan extraño para mí.

Si alguien de ustedes ya perdió su tiempo conmigo y sabe de qué se trata, le suplico que me haga posible vivir con cabellos otra vez.
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:Por què razòn?????

Publicado por Roman Suazo (2723 intervenciones) el 23/03/2007 16:51:00
Sugerencia:

1)Proba usando los campos y no las propeidades de los objetos 2) antes de correr el SUM guarda la posicion del registro actual, despues de correrlo regresar a la posicion guardada...Nos cuentas si hay errores...
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
sin imagen de perfil

RE:Por què razòn?????

Publicado por Antonio Moronta (134 intervenciones) el 23/03/2007 19:49:45
Mil gracias Roman! pero tambien lo intente con los campos y sin utilizar el SUM, pero mas adelante lo probare guardando la posicion del registro y entonces te dire que ocurrio. Pero gracias de nuevo amigo.

Saludos desde Rep. Dominicana
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:Por què razòn?????

Publicado por Roman Suazo (2723 intervenciones) el 23/03/2007 21:47:00
Segun lo que tu has puesto en tu codigo, algo asi hubiera escrito yo (hay que agregarle algunas cosillas):

SET TALK OFF

LOCAL iRegistro

IF nKeyCode=13
SELECT tabla
REPLACE tabla.recibido WITH tabla.recibido*tabla.costo
IF tabla.recibido<tabla.ordenado
REPLACE tabla.total WITH tabla.ordenado-tabla.recibido
ENDIF

iRegistro=RECNO('tabla')
SUM tabla.total TO THISFORM.Text1.VALUE
GOTO iRegistro

ENDIF
THISFORM.REFRESH

Checalo tal vez te sirva.
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

Hay un error en mi codigo!

Publicado por Roman Suazo (2723 intervenciones) el 23/03/2007 21:53:07
Deberia ser asi:

SET TALK OFF

LOCAL iRegistro

IF nKeyCode=13
SELECT tabla

IF tabla.recibido<tabla.ordenado
REPLACE tabla.recibido WITH tabla.recibido*tabla.costo
REPLACE tabla.total WITH tabla.ordenado-tabla.recibido
ENDIF

REPLACE tabla.recibido WITH tabla.recibido*tabla.costo

iRegistro=RECNO('tabla')
SUM tabla.total TO THISFORM.Text1.VALUE
GOTO iRegistro

ENDIF
THISFORM.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
sin imagen de perfil

RE:Hay un error en mi codigo!

Publicado por Antonio Moronta (134 intervenciones) el 24/03/2007 17:57:01
Gracias Roman, lo probare ahorita mismo y luego te dire, pero creo previamente que funcionara.

Ya te confirmo, gracias hermano.
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:Hay otro error en mi codigo!

Publicado por Roman Suazo (2723 intervenciones) el 24/03/2007 23:21:25
Hay que añadirle un ELSE si no te puede dar problemas... asi creo que te funcionara.

SET TALK OFF

LOCAL iRegistro

IF nKeyCode=13
SELECT tabla

IF tabla.recibido<tabla.ordenado
REPLACE tabla.recibido WITH tabla.recibido*tabla.costo
REPLACE tabla.total WITH tabla.ordenado-tabla.recibido
ELSE

REPLACE tabla.recibido WITH tabla.recibido*tabla.costo
ENDIF

iRegistro=RECNO('tabla')
SUM tabla.total TO THISFORM.Text1.VALUE
GOTO iRegistro

ENDIF
THISFORM.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

convertir una hoja de calculo a base de datos

Publicado por Henry (7 intervenciones) el 04/04/2007 02:39:55
Espero que me puedan apoyar, necesito convertir datos de una hoja de calculo (excel) , a una base de datos (Visual foxpro).
cual serian las sentencias de programacion

La conversion de una base de datos a excel ya lo realice.

saludos,

Henry
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:convertir una hoja de calculo a base de datos

Publicado por Roberto Neira (1 intervención) el 13/04/2007 00:07:45
Prueba esta:
sd_oper.xls es una hoja en excel, si deseas puedes incluir la ruta completa


appe from (LOCFILE("SD_OPER.xls")) type xls
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