Grabar en access desde visual fox

Tengo una base de datos de access y quiero actualizar y grabar registros, pero no me funciona mi código:
xprovee=thisform.text1.Value
xgrupo=thisform.text2.Value
xprecio=thisform.text3.Value
cmd1 = "UPDATE f_art left join f_lta on f_art.codart==f_lta.artlta set f_lta.prelta=[F_LTA]![PRELTA]* ?xprecio WHERE (((F_ART.FAMART)= ?xprovee) AND ((F_ART.PHAART)= ?xgrupo)"
= SQLEXEc(gnConnHandle,cmd1)
= SQLCOMMIT(gnConnHandle) && Commit the changes
= SQLDISCONNECT(gnConnHandle)

2 Respuestas

Respuesta
1
Creeme q no sabia q se pudiera usar la instruccion sqlexec para botor access, ademas de tu instruccion sql, se me hace un poco compleja mas en la forma de manergar los campos esos parentesis y ese simbolo de negacion porque de ellos. Ademas porque desconectar sqldisconect y donde esta el sqlconect... y porque el
Left join en todo caso haslo regla de negocio de modo q si cambias un valor se cambie automaticamente el otro valor en las tablas relacionadas...
Suerte.
Si gracias es que inicialmente la actualización la probé directamente en access y lo copie a Fox pero efectivamente tienes toda la razón esto hace que fox no lo tome como error pero si hay que hacela menos compleja.
Respuesta
1
Pues aparentemente todo parecce bien, solo que habría que probar como te quedea la cadena comd1 ya en tiempo de ejecución. Yo lo que hago en estos cambios en meto en un cursor temporan el contenido de cmd1 y luego puedes ejectutarlo directamente en access para ver cual es el efecto o el error.
Gracias por la ayuda solo me podes poner un ejemplo de como ponerlo en un cursor o si es mejor en un table. De todas formas si me podes mandar un ejemplo te lo agradecería mucho.
Utiliza esto:
cmd1 = "UPDATE f_art left join f_lta on f_art.codart==f_lta.artlta set f_lta.prelta=[F_LTA]![PRELTA]* ?xprecio WHERE (((F_ART.FAMART)= ?xprovee) AND ((F_ART.PHAART)= ?xgrupo)"
create cursor cadena(cadena c(200))
insert into cadena(cadena) values(cmd1)
Browse cadena
Y así podrás ver como te queda cmd1 para ver si tiene algún error de sintaxis.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas