Como usar update en foxpro

Estoy usando update pero llena todos los registro solo quiero llenar un registro en espesico, para actualizar varios registro

Este es el código que estoy usando

abre_tabla ("menu_principal")
SELECT menu_principal
SELECT * FROM menu_principal INTO CURSOR perm
SELECT perm
EMP = perm.CODEMP
cod = perm.codigo
tip = perm.tipo
MCOD = THISFORM.MCODVEN.VALUE
P1 = THISFORM.menu1.page1.Check1.Value
P2 = THISFORM.menu1.page1.Check2.Value
SELECT menu_principal
UPDATE menu_principal SET VALOR = P1 WHERE cod == 1 AND tip == "R_FACTURA" AND EMP = MCOD

Respuesta
1

Es un placer saludarte nuevamente y gracias por consultar.

Según veo tu código, el problema puede estar en el tipo de datos de la clausula WHERE que se validan.

Vos tenes esta linea: WHERE cod == 1 AND tip == "R_FACTURA" AND EMP = MCOD

Usa mejor = simple, no pongas == dado que es suficiente con = simple para que where surta efecto.

Ahora veamos, ¿el valor de cod debe ser igual a 1. Ese campo es de tipo carácter o numérico? Si es carácter debería quedar así: cod = '1', el valor entre comillas. Si es numérico pues queda 1 sin nada.

Veo que tenes el campo tip = "R_FACTURA". R_factura es una variable??? O es un valor especifico asi rfactura?? EL TIPO DE datos de tip es caracter?

Ahora... MCOD = THISFORM. MCODVEN.VALUE ahi cargas mcod. ¿Ese tipo de datos es numérico o carácter? Revisa estos aspectos porque ahí puede estar el problema.

Verifica y si el problema persiste, avisame para ver que podemos hacer.

¡Gracias! Amigo ya lo pude resolver el problema estaba en los valores los tome directamente de la tabla y quedo así el código

UPDATE menu_principal SET VALOR = P3 WHERE menu_principal.codigo = 3 AND menu_principal.tipo = "R_FACTURA" AND menu_principal.CODEMP = MCOD

Muchas gracias por tu ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas