Actualizaciones en tablas nativas VFP con UPDATE-SQL

2,951 views
Skip to first unread message

Roy Francisco Salas Benavides

unread,
Dec 12, 2010, 4:30:19 PM12/12/10
to publice...@googlegroups.com
Hola amigos del foro.
Tengo esta duda, estoy cambiando todo mi código para utilizar la estructura SQL, ya desde hace tiempo utilizo el INSERT y el SELECT, ahora estoy cambiando el REPLACE por el UPDATE, pero me encuentro que para que no me de error, debo de crear variables y asignar los valores de los objetos a estas variables, porque si utilizo los objetos, me indica que no se encuentra el alias o algo así (ahorita no recuerdo implícitamente el mensaje), el caso es que me da error. Les muestro un ejemplo de lo que hago:

with thisform
     UPDATA mitabla SET campo1 = .txt_valor1.value, campo2 = .txt_valor2.value, campo3 = .txt_valor3.value where campo4 = micondicion
endwith

Si lo hago de esta forma, me de error, tengo que hacerlo entonces así:

with thisform
     lc_valor1 = .txt_valor1.value
     lc_valor2 = .txt_valor2.value
     lc_valor3 = .txt_valor3.value
     UPDATA mitabla SET campo1 = lc_valor1, campo2 = lc_valor2, campo3 = lc_valor3 where campo4 = micondicion
endwith

De esta manera es la única que he encontrado que el UPDATE me funcione correctamente. ¿ hay algo que esté haciendo mal en el momento de utilizar los objetos.value como referencia de valor ? o es que la forma de hacerlo es esta.

Espero sus aportes, saludos.

Roy Salas B.
Costa Rica.

Geovanny Quirós C.

unread,
Dec 13, 2010, 12:50:27 PM12/13/10
to publice...@googlegroups.com
Hola compatriota,
Yo lo he resuelto  de la misma manera Triste icono gestual
 
Saludos
Emoticon10.gif

Luis Maria Guayan

unread,
Dec 13, 2010, 1:08:32 PM12/13/10
to publice...@googlegroups.com
Así es como trabaja el UPDATE de VFP. Esto es lo que dice 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."

Si desea utilizar la propiedad de un objeto en una expresión, es necesario especificar una variable de memoria y luego usar esa variable de memoria en la expresión. Por ejemplo, puede especificar x = oColField.("iid").Value y luego utilizar la cláusula SET iid = x en su comando SQL-UPDATE. Si utiliza una propiedad del objeto, como ObjectName.Property directamente en la expresión, el comando lo utiliza como un alias y falla.


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

 

Roberto Matarrita

unread,
Dec 13, 2010, 6:33:26 PM12/13/10
to publice...@googlegroups.com
Hola Roy de que parte de Costa Rica eres.
Yo soy tico también de Cartago.
 
ok.

2010/12/13 Geovanny Quirós C. <geovann...@gmail.com>

rfsalasb

unread,
Dec 14, 2010, 12:02:50 AM12/14/10
to publicesvfoxpro
 
Gracias Luis, me lo imaginé y por inersia parece que lo estoy haciendo bien.
Aclaradas las dudas, continuamos trabajando.
Gracias de nuevo.
Saludos.
Roy Salas B.
Costa Rica.
2010-12-13

rfsalasb

Remitente: Luis Maria Guayan
Fecha: 2010-12-13  12:07:40
Destinatario: publicesvfoxpro
CC:
Asunto: Re: [vfp] Actualizaciones en tablas nativas VFP con UPDATE-SQL
 
   
spacer.gif
d_bg.jpg
d_mr.jpg
dr.jpg
tl.jpg
t_bg.jpg
t_mr.jpg
tr.jpg
m_bgl.jpg
bg.jpg
m_bgr.jpg
dl.jpg

rfsalasb

unread,
Dec 14, 2010, 12:19:10 AM12/14/10
to publicesvfoxpro
Jejejej... ok. entonces no andaba tan perdido.
Gracias Man.
Saludos.
------------------
rfsalasb
2010-12-13

-------------------------------------------------------------
Remitente:Geovanny_Quirós_C.
Fecha:2010-12-13 11:51:05
Destinatario:publice...@googlegroups.com
CC:
Asunto:Re: [vfp] Actualizaciones en tablas nativas VFP con UPDATE-SQL

Hola compatriota,
Yo lo he resuelto de la misma manera

Reply all
Reply to author
Forward
0 new messages