FoxPro/Visual FoxPro - ayuda con update

 
Vista:
sin imagen de perfil

ayuda con update

Publicado por many (127 intervenciones) el 01/07/2014 11:31:34
Saludo todos,

Estoy intentando actualizar una tabla, esta tiene muchos campos y solo me deja llegar hasta aqui, si coloco un campo mas me el siguiente error.


Este actuliza bien sin errores

SQLEXEC(rc, "update articulos set codigo=?thisform.codigo.value, descrip=?thisform.descrip.value, itbis=?thisform.itbis.value,;
costo=?thisform.costo.value, e1=?thisform.e1.value, venta1=?thisform.venta1.value, c1=?thisform.c1.value where articulos.codigo=&xb")


pero este con un campo mas dice lo siguiente:

comando contiene una frase que no reconoce

SQLEXEC(rc, "update articulos set codigo=?thisform.codigo.value, descrip=?thisform.descrip.value, itbis=?thisform.itbis.value,;
costo=?thisform.costo.value, e1=?thisform.e1.value, venta1=?thisform.venta1.value, c1=?thisform.c1.value, e2=?thisform.e2.value where articulos.codigo=&xb")

le aclaro que cambio el campo por otro y da el mismo error.

Agradezco su ayuda nuevemente, ya son las 5:30 de la madrugada, hice otras cosas pero esto no he podido y debo dormir un poco para continuar un unas horas.

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

ayuda con update

Publicado por many (127 intervenciones) el 02/07/2014 00:23:16
Les dejo otra pista en busca de este error,

Encontre rara que cuando tengo 7 campos me funciona bien, al agregar otro inicia el error, pero cuando da el error aunque le siga quitando campos el error continua.

SQLEXEC(rc,"update articulos SET descrip=?thisform.descrip.value,itbis=?thisform.itbis.value,costo=?thisform.costo.value,;
e1=?thisform.e1.value where articulos.codigo=&xb")

Hasta que esto no me funcione no podre dar un paso mas.

Gracias nuevamente.
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

ayuda con update

Publicado por Diego (31 intervenciones) el 03/07/2014 05:03:53
many como estas, estuve revizando un poco tu inconveniente y yo uso para no tener problemas, variables de tipo string. Por ejemplo

local cCodigo, cDescrip, cArticulos, itbis, tmpsql

cCodigo=transform(thisform.codigo.value)
cDescrip=transform(thisform.descrip.value)
cArticulos=transform(xb)

Suponiendo que cCodigo es numerico, cDescrip es string y cArticulo es numerico

tmpsql="update articulos SET codigo="+cCodigo+" descrip='"+cDescrip+"'where codigo="+cArticulo

sqlexec(rc, tmpsql)

Saludos
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

ayuda con update

Publicado por many (127 intervenciones) el 03/07/2014 08:37:42
Saludo a todos,

La verdad que agradezco la cooperacion de todos, ya que cuando se estan agotando las fuerzas ustedes me animan con sus ayudas.
Encontre una solucion mecanica y la publico para que la vean y me digan como arreglarla.

Miren la primera, esta no soporta un campo mas, me dice que hay una frase inreconocida.
1.-
SQLEXEC(rc,"update articulos SET descrip=?xdescrip,itbis=?xitbis,costo=?xcosto,e1=?xe1,venta1=?xventa1,c1=?xc1,;
e2=?xe2,venta2=?xventa2,c2=?xc2,e3=?xe3,venta3=?xventa3,c3=?xc3,venta11=?xventa11,venta21=?xventa21,;
venta31=?xventa31 where articulos.codigo=&xb")

Entonces los campos que me faltan envio en esta.
2.-
SQLEXEC(rc,"update articulos SET codpro=?xcodpro,empresa=?xempresa,utilidad=?xutilidad where articulos.codigo=&xb")

No se hasta donde esto se puede hacer problema tendre mas tarde.

Este es muy importante para mi, agradezco sus comentarios lo antes posible.

Mil gracias a todos.
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

ayuda con update

Publicado por Ernesto Hernandez (4623 intervenciones) el 03/07/2014 20:21:08
Puedes pegar varias cadenas ...

cSQL = "SELECT campo1, campo2... campoN"
lcSQL = lcSQL+ " WHERE campo1 = condicion1 AND ... "
lcSQL = lcSQL + "blah blah blah"

ó usar el TEXT ENDTEXT

With Thisform
lnIdentificador = cResult.iID
lnMinimo = .txtMinimo.Value
lnMaximo = .txtMaximo.Value
EndWith

TEXT TO lcSQL TEXTMERGE NOSHOW
SELECT Campo1, Campo2, Campo3, ..., CampoN
FROM MiTabla MT INNER JOIN MiOtraTabla MOT
ON MiT.MiCampo = MOT.MiCampo
WHERE iID = < < lnIdentificador > > ;
AND cantidad BETWEEN < < Minimo > > AND < < lnMaximo > >
....
ENDTEXT
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