Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   UPDATE en una relacion 1 a Muchos... (https://www.clubdelphi.com/foros/showthread.php?t=16164)

JorgeBec 17-11-2004 23:18:49

UPDATE en una relacion 1 a Muchos...
 
Hola comunidad!, la pregunta es la siguiente, pongamos el ejemplo articulos - facturas, decimos 1 articulo puedes estar facturado varias veces, asi mismo 1 factura tiene 1 solo articulo, en resumen 1 a Muchos, si yo quiero a traves de una sentencia UPDATE grabar el total facturado en la tabla de articulos, como seria la sentencia???

JulioGO 18-11-2004 01:38:51

Hola JorgeBec:

Podrias crear un trigger que al actualizar automaticamente busque el codigo del articulo y grabe el total facturado.

Saludos.

marcoszorrilla 18-11-2004 16:09:42

Hola Jorge:
Ya leí ayer tu pregunta, pero no veo claro, lo que deseas, por ejemplo si lo que quieres decir, tenemos una factura, Tabla Maestro y sus líneas tabla detalle, cual es el total de la factura, que se hallaría sumando todas sus líneas?

Pues en este caso, y no sé si es lo que pides?, bastaría con sumar todas las líneas, con una Sentencia Sum de Sql, recuperar el valor y bien con Código Delphi o con un Update contra la tabla facturas, número actual, grabarlo.

Un Saludo.

JorgeBec 19-11-2004 15:55:13

Antes que nada agradezco sus respuestas.

Para JulioGO.

No puedo usar triggers ya que estoy usando xBase, yo que SQL y xBAse no es la mejor combinacion, pero he estado trabajando asi.

Para Marcos

Buen punto Marcos, tienes razon , se me olvida que facturacion se controla a traves de un maestro detalle, entonces la relacion de articulos seria contra el detalle, 1 articulo tendria varios detalles, y 1 detalle tendria solo un articulo, y el punto es necesito saber cuanto se ha facturado de un artículo.

Código:

Tabla articulos
--------------
Codigo Descripcion  Monto Facturado
  x      Zapato            $ 1,000.00  ->> este es el dato que iria en el UPDATE


Tabla Facturas
--------------
Factura    Codigo    Monto
    1            x        $300.00
    2            x        $300.00
    3            x        $400.00

espero que me hay explicado mejor. Saludos

marcoszorrilla 19-11-2004 20:16:37

Yo haría algo parecido a esto, cambia el código para tus tablas y campos.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select Sum(horas) from Asistencias');
Query1.Sql.Add('Where Matricula = '+QuotedStr(Edit1.Text));
Query1.Open;
end;
{Pseudocódigo
if MiOtraTabla.Locate('El producto a actualizar') then
begin
MiOtraTabla.Edit;
MiOtraTabla.Campo.Value:=Query1.Fields[0].AsFloat
MiOtraTabla.Post;
end
else
ShowMessage('El producto no existe.');}

Al ser Xbase la tabla creo que esto sería lo más simple sumar el producto que se elija buscarlo en la otra tabla y actualizar su contenido.

Un Saludo.


La franja horaria es GMT +2. Ahora son las 21:18:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi