Error en mordicar registro en foxpro

Cuando intento mordicar un registro solo se me modifica el primero si inserto otro se va duplicando. Este es el código que estoy usando

SQLEXEC(PHandle_Ident, "SELECT * From sqlitems", "items")
Select Items
Locate For items.codigo = thisform.Text1.Value
Ii found()
Cod = Iitems.Codigo
DES = Items.desit
CAN = 1
PRE = Items.Preven
Imp = CAN*PRE
Else
MEessagebox("Producto no registrado.")
Return
Thisform.TExt1.SetFocus()
Endif

Selext Temp
Index on cod_items TAG cod_items
IF temp.cod_items = Thisform.Text1.Value
UPDATE TEMP SET Cantidad = Cantidad+1, Subtotal = Cantidad*Precio WHERE temp.cod_items = thisform.text1.Value
THISFORM.TExt1.value = 0
THISFORM.TExt1.SetFocus()
ELSE
INSERT INTO temp VALUES( COD, DES, CAN, PRE, IMP)
THISFORM.TExt1.value = 0
THISFORM.TExt1.SetFocus()
ENDIF
THISFORM.GRID1.Refresh
SELECT temp
cierra_Tabla ("ITEMS")

1 respuesta

Respuesta
2

Prueba modificar ésta parte del código..

Selext Temp
Index on cod_items TAG cod_items
IF temp.cod_items = Thisform.Text1.Value

Reemplaza por lo siguiente..

Selext Temp
Index on cod_items TAG cod_items
Seek Alltrim(Thisform.Text1.Value)
IF Found()

Me di cuenta que Select está mal escrito dice Selext.

Por favor no te olvides de valorar las respuestas.

El select estaba mal pero no pude usar alltrim porque es numérico hay otra opción que pueda usar de antemano te doy la gracia por tu ayuda

No uses Alltrim entonces, solamente sería así:

Seek Thisform.Text1.Value

¡Gracias! Me funciono 100 x 100 pero el grid no me permite cambiar la cantidad o otros datos 

Placido ya sería otra pregunta, hazla en una nueva consulta, pero explica un poco que datos tiene el RocordSource y RecordSourceType.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas