Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #61  
Antiguo 17-08-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Exclamation

Hola, estuve probando colocar un Tdatabase en el formulario y lo configure de la siguiente manera en el DataBase Editor:
Name: Facturacion
Alias name: ArgOs
Parameter overrides:
PATH=C:\ITM\Tablas
ENABLE BCD=FALSE
DEFAULT DRIVER=PARADOX

En las propiedades
AliasName ArgOs
connected False
DatabaseName Facturacion //el nombre inventado

El Database ArgOs lo cree con estas caracteristicas
type STANDAR
defaul driver PARADOX
enable BCD FALSE
path C:\tablas

las tablas y el Query
DatabaseName Facturacion

Ahora cuando lo hago correr me tira el siguiente error:
Database1: the transaction isolation level be dirty read local databases...

Responder Con Cita
  #62  
Antiguo 18-08-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Bueno la otra materia (Visual C#) aprobe con 9, esta quedara para diciembre, asi que si quieren seguir ayudandome, les cuento como sigue esto.
con el siguiente codigo y la ayuda de ozswizzard casi funciona, osea realiza lo que quiero pero lo almacena todo de forma temporal, cuando salgo se borra todo.
Código Delphi [-]
procedure TForm14.BitBtn1Click(Sender: TObject);  // copia una factura a la otra 
begin
 with Query1 do 
begin
         Close;
         SQL.Clear;
    SQL.Add('INSERT INTO detfacturafinal');
    SQL.Add('SELECT * FROM detfactura');
    ExecSQL;
 end;
 end;
  procedure TForm14.SpeedButton3Click(Sender: TObject);//limpia la tabla detfactura
 begin
 with Query1 do
 begin
   Close;
   SQL.Clear;
   SQL.Add('DELETE FROM detfactura');
   ExecSQL;
 end;
 end;
Asi que me acosnsejo esto
Código Delphi [-]
procedure TForm14.BitBtn1Click(Sender: TObject);  // copia una factura a la otra
 begin
    Database1.StartTransaction;
    try
       with Query1 do
       begin
               Close;
               SQL.Clear;
          SQL.Add('INSERT INTO detfacturafinal');
          SQL.Add('SELECT * FROM detfactura');
          ExecSQL;
       end;
       DataBase1.Commit;
    except
                   on E:Exception do 
begin
          DataBase1.Rollback;
                   MessageDlg('Error:' + E.Message, mtError, [mbOK], 0);
       end;
    end;
 end;
  procedure TForm14.SpeedButton3Click(Sender: TObject);//limpia la tabla detfactura
 begin
    Database1.StartTransaction;
    try
       with Query1 do
       begin
          Close;
          SQL.Clear;
          SQL.Add('DELETE FROM detfactura');
          ExecSQL;
       end;
       DataBase1.Commit;
    except
             on E:Exception do
 begin          
DataBase1.Rollback;                   
MessageDlg('Error:' + E.Message, mtError, [mbOK], 0);
       end;
    end;
 end;
El asunto como le mencione nunca habia utilizado un Tdatabase, asi que buscando llegue a colocar un Tdatabase en el formulario y lo configure de la siguiente manera en el DataBase Editor:
Name: Facturacion
Alias name: ArgOs
Parameter overrides:
PATH=C:\ITM\Tablas
ENABLE BCD=FALSE
DEFAULT DRIVER=PARADOX

En las propiedades
AliasName ArgOs
connected False
DatabaseName Facturacion //el nombre inventado

El Database ArgOs lo cree con estas caracteristicas
type STANDAR
defaul driver PARADOX
enable BCD FALSE
path C:\tablas

las tablas y el Query
DatabaseName Facturacion



Ahora cuando lo hago correr me tira el siguiente error:
Database1: the transaction isolation level be dirty read local databases...
a ver si logran identificar que estoy haciendo mal o me falta hacer. gracias.

Última edición por DOS fecha: 18-08-2013 a las 03:41:31.
Responder Con Cita
  #63  
Antiguo 18-08-2013
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Creo que usas paradox y componentes dbe, sera que estos componentes no tienen el comit ?.
No lo se.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #64  
Antiguo 18-08-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 20
ozsWizzard Va por buen camino
Yo he usado paradox con BDE y el commit funcionaba.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #65  
Antiguo 18-08-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Creo que el error pasa por la configuracion de mi Database y no por el codigo, ozsWizzard vez algo en lo que puse de mi configuracion que creas que este mal o me falte hacer, para ver si esta correcto, gracias.
Responder Con Cita
  #66  
Antiguo 18-08-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Volvi a el codigo que mas se acerco a la solucion
DOBLE CLICK EN EL DBGRID
Código Delphi [-]
// Doble click para la carga de productos y servicios
procedure TForm14.DBGrid2DblClick(Sender: TObject);
Begin
if (Edit6.Text) = ''then
  begin
  Application.MessageBox('Ingrese el Numero de Factura'+ #13 +'Luego cargue los Items'+ #13 +'Finalmente pulse Nueva Factura','¡ATENCION!',Mb_OK + Mb_IconWarning);
  end
else
begin
Table2.Filtered := False;
Table2.Close;
Table2.Open;
Table7.Open;  // nuevo
Table7.Last;    // nuevo
Table7.Insert;  // nuevo
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 facturar del usuario
   Table2.Post; // guarda el dato en la tabla nueva.
   end;
  if combobox1.Text = 'Servicios' then
  begin
  datasource3.DataSet:= Table3;  // 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 facturar del usuario
   Table2.Post; // guarda el dato en la tabla nueva.
   end;
  calcula;
end;
end;

BOTON NUEVA FACTURA
Código Delphi [-]
procedure TForm14.BitBtn1Click(Sender: TObject);  // nueva factura,
begin
if Table2.IsEmpty then
Application.MessageBox('Ingrese Nº de Factura'+ #13 +'Cargue los Items a Facturar'+ #13 +'Finalmente pulse Nueva Factura','¡ATENCION!',Mb_OK + Mb_IconWarning);
with Query1 do
begin
   Close;
   SQL.Clear;
   SQL.Add('INSERT INTO detfacturafinal');
   SQL.Add('SELECT * FROM detfactura');
   ExecSQL;
end;
end;

BOTON GUARDAR
Código Delphi [-]
procedure TForm14.SpeedButton4Click(Sender: TObject);
begin
Table7.Edit;
Table7.Post;
Table7.Refresh;
end;

BOTON LIMPIAR LA TABLA TEMPORAL
Código Delphi [-]
procedure TForm14.SpeedButton3Click(Sender: TObject);
begin
with Query1 do
begin
  Close;
  SQL.Clear;
  SQL.Add('DELETE FROM detfactura');
  ExecSQL;
end;
Edit6.Text:='';
Table2.Refresh;
Table7.Refresh;
end;

Esta casi funcionando, puedo cargar la factura, guardarla, limpiar el DBGrid Y si intento cargar una nueva factura ahi salta el error EDBEngineError with message 'key violation'. ...
a mi me parece como que ademas de guardar inserta una linea nueva en blanco, asi que cuando pongo nuevamente, nueva factura salta el error.
Creo que me estoy equivocando con los edit, insert, post, close, etc en las distintas parte del codigo, alguno no esta bien ubicado, a ver si ustedes logran darse cuenta.
Responder Con Cita
  #67  
Antiguo 26-08-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
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
  #68  
Antiguo 02-09-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
bueno sigo intentando, lo detallo en el codigo los cambios, pero surge el problema de master record mising...
primera modificacion en la carga del producto en la clave principal, la toma de la factura.
Código Delphi [-]
// Doble click para la carga de productos y servicios
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:=Table1Cod_detalleFactura.value + 1; // Nº del detalle factura + 1 correspondiente a la tabla factura
   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:=Table1Cod_detalleFactura.value + 1; // Nº del detalle factura + 1 correspondiente a la tabla factura
   Table2.Post; // guarda el dato en la tabla nueva.
   end;
  calcula;
end;
Boton de nueva factura
Código Delphi [-]
procedure TForm14.BitBtn1Click(Sender: TObject);  // nueva factura,
begin
Table1.Open;
Table1.Last;
Table2.Open;
Table2.Last;
Table7.Open;
Table7.Last;
Table1.insert;
Table1.Edit;
if Table2.IsEmpty then   //verifica la carga del nº de factura
Application.MessageBox('Seleccione el cliente'+ #13'Cargue los Items a Facturar'+ #13 +'Luego pulse Nueva Factura','¡ATENCION!',Mb_OK + Mb_IconWarning)
else
begin
Table2.Refresh;
with Form14.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;
end;
botón de guardar
Código Delphi [-]
procedure TForm14.SpeedButton4Click(Sender: TObject);
begin
Table1.Last;
k:=Table1.FieldByName('Cod_factura').AsInteger;//para incrementar el numero de la factura
k:=k+1;
Table7.Edit;
Table7.Post;//guardo la tabla detallefacturafinal
  Table1.Edit;
  Table1.FieldByName('Cod_factura').AsInteger:=k;
  Table1Cod_productserv.Value:=Table7Cod_prodser.Value;
  Table1Cod_detalleFactura.Value:=Table7ID_factura.Value;//asigno el numero de detallefacturafinal a factura
  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; //guardo factura 
BitBtn1.Enabled := true;
SpeedButton4.Enabled:=false;
Table7.Refresh;
Table1.Refresh;
end;
continuo intentando, ya saldra, si alguien ve que estoy haciendo mal, me avisa por favor gracias.
Responder Con Cita
  #69  
Antiguo 02-09-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
no he revisado todo el post
pero me atrevo a darte un consejo
cuando uses componentes de tablas (AdoTable por ejemplo)
trate de colocarle un nombre para que sea mas facil identificarlo
ejemplo

table4 x TblProductos
table8 x TblServicios
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #70  
Antiguo 05-09-2013
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
OK lo voy a tener en cuenta pero todavia no lo solucione
Responder Con Cita
  #71  
Antiguo 07-12-2014
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Despues de mas de un año, sigo tan perdido como siempre, nunca termino de funcionar bien y ni iquiera se si vale la pena revivirlo, pero siempre me quede con las ganas de que funcione, creo que tiene un tonto error en alguna parte y yo no lo encuentro, asi que si alguien lo ve, me chifla por favor
al problema surge al apretar el boton guardar, aprarece el malefico, master record missing.

Código Delphi [-]
// Doble click para la carga de productos y servicios
procedure TForm14.DBGrid2DblClick(Sender: TObject);
begin
Table2.Filtered := False;
Table2.Close;
Table7.Close;
Table2.Open;
Table7.Open;
Table7.Last;
Table7.Edit;
              Table1.Open;
              Table1.Last;
              Table1.Edit;
              c:=Table1Cod_detalleFactura.Asinteger;
   c:=c+1;
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:=c; //incremento el numero del codigo
   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:=c; // Nº de factura
   Table2.Post; // guarda el dato en la tabla nueva.
   end;
  calcula;
end;

Código Delphi [-]
// boton nueva factura,
procedure TForm14.BitBtn1Click(Sender: TObject);
begin
          k:=0;
          Table1.Open;     //factura
          Table1.Last;
          Table2.Open;  //det. factura
          Table2.Last;
          Table7.Open;    //det. factura final
          Table7.Last;
           //Table1.insert;
          Table1.Edit;
          Table2.Edit;
          k:=Table1.FieldByName('Cod_factura').AsInteger;
          k:=k+1;  // incrementa el numero del afactura
if Table2.IsEmpty then   //verifica la carga del nº de factura
Application.MessageBox('Seleccione el cliente'+ #13'Cargue los Items a Facturar'+ #13 +'Luego pulse Nueva Factura','¡ATENCION!',Mb_OK + Mb_IconWarning)
else
begin
Table2.Refresh;
with Form14.Query1 do  //pasa de la tabla temporal a la de detalle final
  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;

             l:=Table7.FieldByName('Cod_prodser').AsInteger;
             l:=l+1;
end;

end;

Código Delphi [-]
//Guarda la tabla factura
procedure TForm14.SpeedButton4Click(Sender: TObject);
begin
Table7.Edit;
Table7.Post; //det. factura final
  Table1.Edit;
                   Table1.Insert;
  Table1.FieldByName('Cod_factura').AsInteger:=k;
  Table1Cod_productserv.Value:=l;
  Table1Cod_detalleFactura.Value:=c;
  Table1Cod_cliente.Value:=Table8Cod_propi.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;
Table1.Refresh;
PageControl1.ActivePage := TabSheet1;
end;

tabla detalle factura temporal IDEM detalle factura final
ID_factura
Cod_prodser
Codigo
Descripcion
Importunidad
Cantidad
TotalImp

Tabla Factura
Cod_factura
Cod_detalleFactura // ID_factura
Cod_productserv
Cod_cliente
Fecha
Descuento
Incremento
Total

si a alguien se le ocurre algo gracias
Responder Con Cita
  #72  
Antiguo 07-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por DOS Ver Mensaje
tabla detalle factura temporal IDEM detalle factura final

ID_factura
Cod_prodser
Codigo
Descripcion
Importunidad
Cantidad
TotalImp

Tabla Factura
Cod_factura
Cod_detalleFactura // ID_factura
Cod_productserv
Cod_cliente
Fecha
Descuento
Incremento
Total
¿Pero no eran tablas iguales?
Responder Con Cita
  #73  
Antiguo 07-12-2014
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
hola, si las tablas iguales eran detalle de factura (la temporal) y detalle de factura final, luego copio esos datos mas los otros mostrados en la tabla, a la tabla factura.
entonces queda una detalle de factura y otra factura, gracias.
Responder Con Cita
  #74  
Antiguo 07-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Por qué no lo haces todo en sql?, es más simple, fácil y rápido.
Responder Con Cita
  #75  
Antiguo 07-12-2014
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
no dudo que tengas razon, pero esto esta en un 95% diria yo y solo salta ese problema, con lo cual estaria todo solucionado, solo que no lo encuentro lo otro seria para mi empesar todo nuevamente y ver que errores me van surgiendo
Responder Con Cita
  #76  
Antiguo 07-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya, te entiendo, pero es que así (como has podido comprobar en tanto tiempo) es casi imposible poder ayudar.
Para empezar: ¿Dónde exactamente sale el error, en qué línea?, ¿has depurado el programa paso a paso para encontrarlo?
Responder Con Cita
  #77  
Antiguo 07-12-2014
DOS DOS is offline
Miembro
NULL
 
Registrado: jul 2011
Posts: 173
Poder: 13
DOS Va por buen camino
Tenes razon, deberia intentar sql en el boton de guardar, agradeceria si me tiras una idea como para empezar, por otra parte , no se como se depura el programa y solo puedo decir que el error salta al apretar el boton guardar la tabla factura, que ahi esta la codificacion.
Responder Con Cita
  #78  
Antiguo 07-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues pones un breakpoint justo al entrar en esa parte del programa, donde aprietas el botón guardar. Luego vas paso a paso, línea a línea.
No lo recuerdo de memoria, creo que era F5 para poner el breakpoint y luego F7 para avanzar a la siguiente línea. Mira el menú "Debug" de delphi
Responder Con Cita
Respuesta



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 00:46:54.


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