FoxPro/Visual FoxPro - Error de cadena de objeto demasiado larga

 
Vista:

Error de cadena de objeto demasiado larga

Publicado por Falcon Z (1 intervención) el 16/01/2008 21:57:26
Saludos, tengo un programa en el que luegode hacer unos calculos mando llamar otra forma en la que me indique los valores de las variables que menciono, todo funciona bien, pero cuando cierro la ventana donde tengo ese codigo me sale el siguiente error: SQL: STATEMENT TOO LONG, la ayuda dice que es SQL:LA INSTRUCCION ES DEMASIADO LARGA(ERROR 1812). Esto me produce que el sistema se bloquee y ya no pueda seguir trabajando, la verdad no se en donde tengo el error o como lo puedo corregir, les agradecería enormemente me puedan ayudar, incluyo el codigo que tengo:

ESTO TENGO EN EL FORM DONDE HAGO LOS CALCULOS
ovariable.maximotec2=MAX(thisform.pageframe1.page1.text7.Value,thisform.pageframe1.page1.text9.Value,thisform.pageframe1.page1.text11.Value,thisform.pageframe1.page1.text13.Value,thisform.pageframe1.page1.text15.Value)
ovariable.minimotec2=MIN(thisform.pageframe1.page1.text7.Value,thisform.pageframe1.page1.text9.Value,thisform.pageframe1.page1.text11.Value,thisform.pageframe1.page1.text13.Value,thisform.pageframe1.page1.text15.Value)

ovariable.maximopres2=MAX(thisform.pageframe1.page1.text21.Value,thisform.pageframe1.page1.text23.Value,thisform.pageframe1.page1.text25.Value,thisform.pageframe1.page1.text27.Value,thisform.pageframe1.page1.text29.Value)
ovariable.minimopres2=MIN(thisform.pageframe1.page1.text21.Value,thisform.pageframe1.page1.text23.Value,thisform.pageframe1.page1.text25.Value,thisform.pageframe1.page1.text27.Value,thisform.pageframe1.page1.text29.Value)

*OPERACION PARA SACAR LA CALIFICACION TECNICA
ovariable.tecnica2=(thisform.pageframe1.page1.text7.Value+thisform.pageframe1.page1.text9.Value+thisform.pageframe1.page1.text11.Value+thisform.pageframe1.page1.text13.Value+thisform.pageframe1.page1.text15.Value-ovariable.maximotec2-ovariable.minimotec2)/3
thisform.pageframe1.page1.text34.Value=ovariable.tecnica2

*OPERACION PARA SACAR LA CALIFICACION DE PRESENTACION
ovariable.presentacion2=(thisform.pageframe1.page1.text21.Value+thisform.pageframe1.page1.text23.Value+thisform.pageframe1.page1.text25.Value+thisform.pageframe1.page1.text27.Value+thisform.pageframe1.page1.text29.Value-ovariable.maximopres2-ovariable.minimopres2)/3
thisform.pageframe1.page1.text35.Value=ovariable.presentacion2

*ESTO ES PARA SACAR LA CALIFICACION FINAL DE LA EJECUCION 1
ovariable.cal_final2=thisform.pageframe1.page1.text34.Value+thisform.pageframe1.page1.text35.Value-thisform.pageframe1.page1.text37.Value
thisform.label37.Caption=STR(ovariable.cal_final2,5,3)

ovariable.penalizacion2=thisform.pageframe1.page1.text37.Value &&esto es para que indique el valor de la penalizacion en la publicación

ovariable.maximotec3=MAX(thisform.pageframe1.page2.text7.Value,thisform.pageframe1.page2.text9.Value,thisform.pageframe1.page2.text11.Value,thisform.pageframe1.page2.text13.Value,thisform.pageframe1.page2.text15.Value)
ovariable.minimotec3=MIN(thisform.pageframe1.page2.text7.Value,thisform.pageframe1.page2.text9.Value,thisform.pageframe1.page2.text11.Value,thisform.pageframe1.page2.text13.Value,thisform.pageframe1.page2.text15.Value)

ovariable.maximopres3=MAX(thisform.pageframe1.page2.text21.Value,thisform.pageframe1.page2.text23.Value,thisform.pageframe1.page2.text25.Value,thisform.pageframe1.page2.text27.Value,thisform.pageframe1.page2.text29.Value)
ovariable.minimopres3=MIN(thisform.pageframe1.page2.text21.Value,thisform.pageframe1.page2.text23.Value,thisform.pageframe1.page2.text25.Value,thisform.pageframe1.page2.text27.Value,thisform.pageframe1.page2.text29.Value)

*OPERACION PARA SACAR LA CALIFICACION TECNICA
ovariable.tecnica3=(thisform.pageframe1.page2.text7.Value+thisform.pageframe1.page2.text9.Value+thisform.pageframe1.page2.text11.Value+thisform.pageframe1.page2.text13.Value+thisform.pageframe1.page2.text15.Value-ovariable.maximotec3-ovariable.minimotec3)/3
thisform.pageframe1.page2.text34.Value=ovariable.tecnica3

*OPERACION PARA SACAR LA CALIFICACION DE PRESENTACION
ovariable.presentacion3=(thisform.pageframe1.page2.text21.Value+thisform.pageframe1.page2.text23.Value+thisform.pageframe1.page2.text25.Value+thisform.pageframe1.page2.text27.Value+thisform.pageframe1.page2.text29.Value-ovariable.maximopres3-ovariable.minimopres3)/3
thisform.pageframe1.page2.text35.Value=ovariable.presentacion3

*ESTO ES PARA SACAR LA CALIFICACION FINAL LA EJECUCION 2
ovariable.cal_final3=thisform.pageframe1.page2.text34.Value+thisform.pageframe1.page2.text35.Value-thisform.pageframe1.page2.text37.Value
thisform.label39.Caption=STR(ovariable.cal_final3,5,3)

ovariable.penalizacion3=thisform.pageframe1.page2.text37.Value &&esto es para que indique el valor de la penalizacion en la publicación

**************************************
*ESTO ES PARA SACAR LA CALIFICACION GLOBAL DE LA FINAL
ovariable.total_final=(ovariable.cal_final2+ovariable.cal_final3)/2
replace cal_global WITH ovariable.total_final
thisform.label33.Caption=STR(ovariable.total_final,5,3)
ovariable.penalizacionfinal=thisform.pageframe1.page1.text37.Value+thisform.pageframe1.page2.text37.Value

****************************************************************
***INICIA EL PROCEDIMIENTO PARA ALMACENAR LOS DATOS

ovariable.num_competidor=thisform.text1.value

SELE v_calif_indiv
REQUERY()
IF RECCOUNT()!=0 then


*PARA LA PRIMER EJECUCION
IF ALLTRIM(thisform.combo4.value)="FINAL" then
REPLACE poomse2 WITH ALLTRIM(thisform.combo5.value)
REPLACE amonestacion WITH thisform.text36.value
REPLACE p2_ded_tea WITH thisform.pageframe1.page1.text6.value
REPLACE p2_ded_te1 WITH thisform.pageframe1.page1.text8.value
REPLACE p2_ded_te2 WITH thisform.pageframe1.page1.text10.value
REPLACE p2_ded_te3 WITH thisform.pageframe1.page1.text12.value
REPLACE p2_ded_te4 WITH thisform.pageframe1.page1.text14.value
REPLACE p2_ded_te5 WITH thisform.pageframe1.page1.text16.value
REPLACE p2_ded_te6 WITH thisform.pageframe1.page1.text18.value

REPLACE p2_cal_tea WITH thisform.pageframe1.page1.text7.value
REPLACE p2_cal_te1 WITH thisform.pageframe1.page1.text9.value
REPLACE p2_cal_te2 WITH thisform.pageframe1.page1.text11.value
REPLACE p2_cal_te3 WITH thisform.pageframe1.page1.text13.value
REPLACE p2_cal_te4 WITH thisform.pageframe1.page1.text15.value
REPLACE p2_cal_te5 WITH thisform.pageframe1.page1.text17.value
REPLACE p2_cal_te6 WITH thisform.pageframe1.page1.text19.value

REPLACE p2_ded_pra WITH thisform.pageframe1.page1.text20.value
REPLACE p2_ded_pr1 WITH thisform.pageframe1.page1.text22.value
REPLACE p2_ded_pr2 WITH thisform.pageframe1.page1.text24.value
REPLACE p2_ded_pr3 WITH thisform.pageframe1.page1.text26.value
REPLACE p2_ded_pr4 WITH thisform.pageframe1.page1.text28.value
REPLACE p2_ded_pr5 WITH thisform.pageframe1.page1.text30.value
REPLACE p2_ded_pr6 WITH thisform.pageframe1.page1.text32.value

REPLACE p2_cal_pra WITH thisform.pageframe1.page1.text21.value
REPLACE p2_cal_pr1 WITH thisform.pageframe1.page1.text23.value
REPLACE p2_cal_pr2 WITH thisform.pageframe1.page1.text25.value
REPLACE p2_cal_pr3 WITH thisform.pageframe1.page1.text27.value
REPLACE p2_cal_pr4 WITH thisform.pageframe1.page1.text29.value
REPLACE p2_cal_pr5 WITH thisform.pageframe1.page1.text31.value
REPLACE p2_cal_pr6 WITH thisform.pageframe1.page1.text33.value

REPLACE poom2_cal_tec WITH thisform.pageframe1.page1.text34.value
REPLACE poom2_cal_pres WITH thisform.pageframe1.page1.text35.value
REPLACE p2_ded_ganjeom WITH thisform.pageframe1.page1.text37.value
REPLACE poom2_cal_final WITH ovariable.cal_final2


MESSAGEBOX('Calificación Guardada',64+0,'Aviso')
TABLEUPDATE(0,.F.)
DO FORM publicacionfinal.scx

************************************+
Y ESTO TENGO EN EL INIT DEL FORM QUE SE ABRE PARA MOSTRAR LOS RESULTADOS
thisform.label33.caption=STR(ovariable.total_final,5,3)
thisform.label13.caption=STR(ovariable.cal_final2,5,3)
thisform.label14.caption=STR(ovariable.cal_final3,5,3)
thisform.label1.caption=STR(ovariable.tecnica2,5,2)
thisform.label2.caption=STR(ovariable.presentacion2,5,2)
thisform.label7.caption=STR(ovariable.tecnica3,5,2)
thisform.label8.caption=STR(ovariable.presentacion3,5,2)
thisform.label6.caption=STR(ovariable.penalizacionfinal,3,1)

MUCHAS 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

RE:Error de cadena de objeto demasiado larga

Publicado por Plinio (7841 intervenciones) el 16/01/2008 22:41:08
El error lo dice todo
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:Error de cadena de objeto demasiado larga

Publicado por Falcon Z (22 intervenciones) el 17/01/2008 01:39:29
Hola, gracias por tu atención, lo que pasa es que no puedo interpretar el error, a que se refiere?? a que le estoy dando un valor mayor a una variable?? cual variable?? o se refiere a que estoy escribiendo un comando muy largo???
Gracias por su ayuda
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:Error de cadena de objeto demasiado larga

Publicado por Plinio (7841 intervenciones) el 17/01/2008 01:47:49
Por ejemplo, yo reemplazaria una linea como esta
ovariable.maximotec2=MAX(thisform.pageframe1.page1.text7.Value,thisform.pageframe1.page1.text9.Value,thisform.pageframe1.page1.text11.Value,thisform.pageframe1.page1.text13.Value,thisform.pageframe1.page1.text15.Value)

ASI

xvalor1=thisform.pageframe1.page1.text7.Value
xvalor2 = thisform.pageframe1.page1.text11.Value
xvalor3= thisform.pageframe1.page1.text11.Value
xvalor4=thisform.pageframe1.page1.text13.Value
xvalor5= thisform.pageframe1.page1.text15.Value
ovariable.maximotec2=MAX(xvalor1,xvalor2,xvalor3,xvalor4,xvalor5)

http://support.microsoft.com/kb/111991/es
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:Error de cadena de objeto demasiado larga

Publicado por Falcon Z (22 intervenciones) el 17/01/2008 08:18:51
Gracias por la atención Plinio, investigué el error y encontré que era porque como uso vistas estaba queriendo actualizar mas de 40 campos a la vez, lo que hice fue dividir la actualizacion y dividí los campos llamando dos veces a la vista y así resultó. Gracias por el apoyo amigo.
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