FoxPro/Visual FoxPro - Actualizar un campo a traves del cursor

 
Vista:

Actualizar un campo a traves del cursor

Publicado por Bezuko (10 intervenciones) el 05/12/2016 15:49:41
Hola!!!!
Por fa, si alguien me puede ayudar, necesito actualizar la tabla producto, el campo existencia desde mi formulario de compras, al guardar la compra.
ya tengo el código, pero no funciona. . Ayuda por faaaaa!!!!

tengo mas o menos de la siguiente manera

Guardo los datos en la tabla compra, sin problemas
Luego guardo los datos en la tabla detalle_compra
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
num_deta=num
sqldisconnect(0)
select detalle
scan
       conexion()
       num_deta=num_deta + 1
       copro=detalle.codi
       copre=detalle.precio
       can=detalle.canti
* detalle es el nombre de mi cursor
       Aquí guardo los datos en el deta_compra, sin problema
        sqlexex(conexion, insert into deta_compra.........
** Y aquí trato de actualizar la tabla producto
     conexion()
    select producto
    locate for cod_produ=detalle.codi
    if found()
            replace producto,existe with producto.existe + (detalle.can)
    endif
 
***** el campo que necesito actualizar es existe de la tabla producto
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
Imágen de perfil de Mauricio Antonio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Actualizar un campo a traves del cursor

Publicado por Mauricio Antonio (1541 intervenciones) el 05/12/2016 17:58:26
para empezar, tienes un error:
replace producto,existe with producto.existe + (detalle.can)
REPLACE PRODUCTO.EXISTE WITH PRODUCTO.EXISTE + DETALLE.CAN
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

Actualizar un campo a traves del cursor

Publicado por jose camilo (805 intervenciones) el 17/12/2016 21:06:09
mira un codigo simple, esta operando en mi sistema asi que espero te ayude


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Procedure Grabar
   If Empty(m.cuenta) .Or. Empty(m.detalle) .Or. Empty(m.status)
      Wait Window "Existen campos claves en blanco" NoWait
      Return
   EndIf
   If SQLEXEC(JJCUENTAS2009,"SELECT * FROM Cuenta ORDER BY Cuenta") >0
      Locate For Alltrim(Cuenta) == Alltrim(M.Cuenta)
      m.cuenta  = Alltrim(M.Cuenta)
      m.detalle = Alltrim(M.Detalle)
      m.Grupo606= Alltrim(M.Grupo606)
      m.status  = Alltrim(M.Status)
      WUsuario  = Alltrim(WUsuario)
      If Found()
         If SQLEXEC(JJCUENTAS2009, "Update Cuenta Set Detalle = ?m.detalle,Grupo606 =?m.grupo606,Usuario=?WUsuario,Status=?m.status  Where cuenta = ?m.cuenta") <=0
            MessageBox('Error al Conectar a la Base de Datos de Trabajo de [CUENTAS CONTABLES]',16,'JJ-System')   
            Return
         EndIF
      Else
         IF SQLEXEC(JJCUENTAS2009, "INSERT INTO Cuenta (Cuenta,Detalle,Grupo606,Status,Usuario) VALUES (?M.Cuenta,?m.detalle,?m.grupo606,?m.Status,?WUsuario)") <=0
            MessageBox('Error al Conectar a la Base de Datos de Trabajo de [CUENTAS CONTABLES]',16,'JJ-System')   
            Return
         EndIF
 
      EndIf
   Else
      MessageBox('Error al Conectar a la Base de Datos de Trabajo de [CUENTAS CONTABLES]',16,'JJ-System')
   EndIF
Return
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