Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #33  
Antiguo 26-08-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 16
DOS Va por buen camino
No se si alguien me querra ayudar, pero bueno, solucione el punto anterior, todo funcionaba bien pero ahora quieren que la factura sea auto incrementable, con esto en realidad no tenia problema, de echo era autoincrementable, pero el asunto que al no poder cargar un numero y la tabla detalle de factura no es autoincrementable, estoy tratando de que sea asi.
el punto creo que esta aca
Código Delphi [-]
procedure TForm14.DBGrid2DblClick(Sender: TObject);
begin
Table2.Filtered := False;
Table2.Close;
Table7.Close;
Table2.Open;
Table7.Open;
Table7.Last;
Table7.Edit;
if combobox1.Text = 'Productos' then
  begin
   datasource5.DataSet:= Table4;  // tabla de productos
   Table2.Insert; // inserta un campo
   Table2Cod_prodser.Value:= Table4Cod_prod.Value; // el campo cod_prod de la tabla nueva es igual al de la tabla5
   Table2Codigo.Value:= Table4Codigo.Value;
   Table2Descripcion.Value:= Table4Descripcion.Value;
   Table2Importunidad.Value:= Table4ImpVent.Value;
   Table2Cantidad.Value:= StrToFloat(Edit1.Text);  //cantidad cargada por el usuario
   Table2TotalImp.Value:=Table2Cantidad.Value * Table2Importunidad.Value;   // multiplica la cantidad por el valor unitario
   Table2ID_Factura.Value:= StrToInt(Edit6.Text); // Nº de factura del usuario //NO SE REALIZA MAS
   Table2.Post; // guarda el dato en la tabla nueva.
   end;
  if combobox1.Text = 'Servicios' then
  begin
  datasource9.DataSet:= Table8;  // tabla servicios
   Table2.Insert; // inserta un campo
   Table2Cod_prodser.Value:= Table5Cod_servcio.Value; // el campo cod_servicio de la tabla nueva es igual al de la tabla3
   Table2Codigo.Value:= Table5Codigo.Value;
   Table2Descripcion.Value:= Table5Servicio.Value;
   Table2Cantidad.Value:= StrToFloat(Edit1.Text);  // cantidad cargada por el usuario
   Table2Importunidad.Value:= Table5ImpServ.Value;
   Table2TotalImp.Value:=Table2Cantidad.Value * Table2Importunidad.Value;
   Table2ID_Factura.Value:= StrToInt(Edit6.Text); // Nº de factura del usuario  //NO SE REALIZA MAS
   Table2.Post; // guarda el dato en la tabla nueva.
   end;
  calcula;
end;

EL BOTON DE NUEVA FACTURA

Código Delphi [-]
procedure TForm14.BitBtn1Click(Sender: TObject);  // nueva factura,
begin
Table1.Open;
Table1.Last;
Table2.Open;
Table2.Last;
c:=Table1.FieldByName('Cod_factura').Asinteger;
    c:=c+1;
Table1.insert;
Table1.Edit;
if Table2.IsEmpty then   //verifica la carga de factura
Application.MessageBox('Cargue los Items a Facturar'+ #13 +'Luego pulse Nueva Factura','¡ATENCION!',Mb_OK + Mb_IconWarning);
Table2.Last;
Table2.Refresh;
with Query1 do
begin
   Close;
   SQL.Clear;
   SQL.Add('INSERT INTO detfacturafinal');
   SQL.Add('SELECT * FROM detfactura');
   ExecSQL;
end;
BitBtn1.Enabled := false;
SpeedButton4.Enabled:=true;
PageControl1.ActivePage := TabSheet2;
end;

y el boton guardar
Código Delphi [-]
procedure TForm14.SpeedButton4Click(Sender: TObject);
begin
Table7.Edit;
Table7.FieldByName('ID_factura').AsInteger:=k;
Table7.Post;
  Table1.Edit;
  Table1.FieldByName('Cod_factura').AsInteger:=Table7.FieldByName('ID_factura').AsInteger;
  Table1Cod_productserv.Value:=Table2Cod_prodser.Value;
  Table1Cod_detalleFactura.Value:=Table2ID_factura.Value;
  Table1Cod_cliente.Value:=Table8Cod_prop.Value;
  Table1Fecha.Value:=Now();
  Table1Descuento.Value:=StrToFloat(Edit3.Text);
  Table1Incremento.Value:=StrToFloat(Edit4.Text);
  Table1Total.Value:=StrToFloat(Edit5.Text);
  Table1.Post;   
BitBtn1.Enabled := true;
SpeedButton4.Enabled:=false;
Table7.Refresh;
end;
El asunto es como ponerle un numero a la tabla detallefactura si esta es temporal y con cada carga despues borro todo
y la tabla detallefacturafinal, creo que deberia pasar los datos entre detallefactura y detallefacturafinal y viceversa y sumarle 1, se entiende lo que digo.
digamos asi
Cargo detallefactura (tengo que ver de donde saco el numero)
Copio esta a detallefacturafinal
guardo luego borro detallefactura
cargo nueva detallefactura y el numero de la clave principal la tomo de detallefacturafinal +1
no se si la idea esta bien, pero todavia no lo supe implementar.
si alguien me tira una mano, caral¿?
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar registro de una Tabla a otra Tabla, sin repetirse MaMu Conexión con bases de datos 22 11-04-2013 15:29:11
Mysql: copiar los campos de una tabla de una base de datos a otra tabla de otra base? patriram MySQL 4 02-11-2007 16:00:24
copiar datos de una tabla en otra fedelphi Firebird e Interbase 6 24-08-2007 03:59:36
Copiar un registro de una tabla en otra... JuanErasmo SQL 6 10-07-2007 23:08:15
Copiar Tabla de una BD a Otra BD en Firebird pcicom SQL 3 14-02-2005 16:31:15


La franja horaria es GMT +2. Ahora son las 16:32:29.


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
Copyright 1996-2007 Club Delphi