duda

43 views
Skip to first unread message

xor...@hotmail.com

unread,
Aug 27, 2015, 9:59:19 PM8/27/15
to Comunidad de Visual Foxpro en Español
No se porque esta orden no funciona

UPDATE movtos SET abonos=thisform.text3.value WHERE verificador=thisform.text1.value


y esta si
LnImporte=thisform.text3.value
UPDATE movtos SET abonos=lnimporte WHERE verificador=thisform.text1.value

Trato de comprender el porque no.
Gracias.

arquinav

unread,
Aug 27, 2015, 11:46:49 PM8/27/15
to Comunidad de Visual Foxpro en Español
Con solo tomarte el tiempo para leer la ayuda de este comando tendras la respuesta.

tomado de la ayuda.

If you want to use an object property in an expression, you need to specify a memory variable and then use that variable in the expression. For example, you can specify x = oColField("iid").Value and then use the SET clause set iid = x in your UPDATE - SQL command. If you use the object property, that is objectname.property, directly in the expression, the command uses it as an alias and fails.

Carlos Miguel FARIAS

unread,
Aug 28, 2015, 7:20:44 AM8/28/15
to Grupo Fox
O sea, no se pueden usar propiedades de objetos dentro de una sentencia SQL (ninguna).
Una posibilidad, aunque la veo compleja es crear un cursor con los datos del formulario (y solo se justificaría con muchos campos) es
CREATE CURSOR tusDatos (lista de campos)
SELECT tusDatos
APPEND BLANK  && Aqui esto vale, es un cursor en memoria o a lo sumo disco local
GATHER FROM NAME THISFORM  && para propiedades del formulario
GATHER FROM NAME THISFORM.tuContenedor  && si no son propiedades del formulario
UPDATE tuTabla;
   SET campo1 = TD.campoX, campo2 = TD.campoY, ...;
   FROM tusDatos AS TD;
   WHERE filtrosDeDatosyCafe && no olvidar incluir clave primaria de tuTabla!!!

Solo se justifica, si son muchos atributos del formulario quese deben pasar a la tabla, si no, pasar 1x1 a variables locales y luego actualizar.

Saludos: Miguel, La Pampa (RA)

Larga Vida y Prosperidad
Que la Fuerza los acompañe, esperando el buen humor de hoy viernes
Reply all
Reply to author
Forward
0 new messages