Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 17-06-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 20
salvanano Va por buen camino
Unhappy Mensaje de error al finalizar aplicación

He posteado todo los insert y modificado el codigo para que no me guarde cualquier cosa en la tabla temporal (table12).
También he probado a cerrar las tablas y ha cerrar los database, pero no hay manera de uqe deje de darme ese error.
Lo que hace esta aplicación es coger datos de unas tablas, los almacena temporalmente en otra y las imprime, a continuación se borran de dicha tabla auxiliar(Table12) al pulsar un boton.
Este es mi código, a ver si soys capaces de sacar algo en claro.
PD: El error solo me lo da cuando utilizo la tabla 12.

Código Delphi [-]
procedure TForm17.BitBtn1Click(Sender: TObject);
begin
Table10.Last;
Table10.Insert;
Table10.Edit;
end;
procedure TForm17.BitBtn2Click(Sender: TObject);
begin
Table10.Post;
Table10.Edit;
end;
procedure TForm17.BitBtn3Click(Sender: TObject);
begin
If Application.MessageBox('SEGURO DE ELIMINARLO?','ATENCION !!',MB_OKCANCEL+
MB_ICONQUESTION)=IDOK then
Table10.Delete;
Table10.First;
end;
procedure TForm17.BitBtn4Click(Sender: TObject);
begin
Table10.Next;
end;
procedure TForm17.BitBtn5Click(Sender: TObject);
begin
Table10.Prior;
end;
procedure TForm17.BitBtn6Click(Sender: TObject);
var
suma : Real;
a,b,c,d,e,f,g,h,i : Real;
begin
//Calculo el precio total dependiendo si estan activas las tablas
if Table1.Active= True then
a:= Table1.FieldByName('PRECIO').AsFloat * StrToFloat(Edit6.Text) else
a:= 0;
if Table2.Active= True then
b:= Table2.FieldByName('PRECIO').AsFloat * StrToFloat(Edit7.Text) else
b:= 0;
if Table3.Active= True then
c:= Table3.FieldByName('PRECIO').AsFloat * StrToFloat(Edit8.Text) else
c:= 0;
if Table4.Active= True then
d:= Table4.FieldByName('PRECIO').AsFloat * StrToFloat(Edit9.Text) else
d:= 0;
if Table5.Active= True then
e:= Table5.FieldByName('PRECIO').AsFloat * StrToFloat(Edit10.Text) else
e:= 0;
if Table6.Active= True then
f:= Table6.FieldByName('PRECIO').AsFloat * StrToFloat(Edit11.Text) else
f:= 0;
if Table7.Active= True then
g:= Table7.FieldByName('PRECIO').AsFloat * StrToFloat(Edit12.Text) else
g:= 0;
if Table8.Active= True then
h:= Table8.FieldByName('PRECIO').AsFloat * StrToFloat(Edit13.Text) else
h:= 0;
if Table9.Active= True then
i:= Table9.FieldByName('PRECIO').AsFloat * StrToFloat(Edit14.Text) else
i:= 0;
suma:= (a+b+c+d+e+f+g+h+i)+ StrToFloat(Edit5.Text);
Label20.Caption:= FloatToStr(suma); //Pongo el valor del total en el label
Table10.Edit;
Table10.FieldByName('TOTAL').AsFloat:= suma; //pongo el valor del total en la tabla
end;
procedure TForm17.BitBtn7Click(Sender: TObject);
begin
If Application.MessageBox('SEGURO DE SALIR DE PRESUPUESTO?','ATENCION !!',MB_OKCANCEL+
MB_ICONQUESTION)=IDOK then
Database2.Close;
Table10.Close;
Table12.Close;
Close;
end;
procedure TForm17.DBLookupComboBox1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit6.Text:= '1';
end;
procedure TForm17.DBLookupComboBox2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit7.Text:= '1';
end;
procedure TForm17.DBLookupComboBox3MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit8.Text:= '1';
end;
procedure TForm17.DBLookupComboBox4MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit9.Text:= '1';
end;
procedure TForm17.DBLookupComboBox5MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit10.Text:= '1';
end;
procedure TForm17.DBLookupComboBox6MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit11.Text:= '1';
end;
procedure TForm17.DBLookupComboBox7MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit12.Text:= '1';
end;
procedure TForm17.DBLookupComboBox8MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit13.Text:= '1';
end;
procedure TForm17.DBLookupComboBox9MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Edit14.Text:= '1';
end;
procedure TForm17.DBLookupComboBox10CloseUp(Sender: TObject);
begin
Table11.IndexFieldNames:= 'NOMBRE';
if Table11.FindKey([DBLookupCombobox10.Text])=True then
DBEdit2.Text:= Table11.FieldByName('DIRECCION').AsString;
DBEdit5.Text:= Table11.FieldByName('TELEFONO').AsString;
DBEdit6.Text:= Table11.FieldByName('NIF').AsString;
end;
procedure TForm17.BitBtn8Click(Sender: TObject);
begin
Form18.QuickRep1.Preview;
end;
procedure TForm17.BitBtn9Click(Sender: TObject);
begin
Table12.First;
while Table12.Eof = False do
Table12.Delete;         //Borro los registros de la tabla
Table12.First;
Edit5.Text := '0';
Label20.Caption := '0';
end;
procedure TForm17.Button1Click(Sender: TObject);
begin
//coloco la fecha en su campo
DBEdit9.Text:= DateToStr(Date);
table10.Post;
// Registro en la tabla auxiliar para imprimir después
if dblookupcombobox1.Text<>'' then
begin
Table1.IndexFieldNames:= 'DESCRIPCION';
if Table1.FindKey([DBLooKupComboBox1.Text])=True then
begin
Table12.Edit;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit6.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table1.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table1.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table1.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit6.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox2.Text<>'' then
begin
Table2.IndexFieldNames:= 'DESCRIPCION';
if Table2.FindKey([DBLooKupComboBox2.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit7.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table2.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table2.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table2.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit7.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox3.Text<>'' then
begin
Table3.IndexFieldNames:= 'DESCRIPCION';
if Table3.FindKey([DBLooKupComboBox3.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit8.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table3.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table3.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table3.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit8.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox4.Text<>'' then
begin
Table4.IndexFieldNames:= 'DESCRIPCION';
if Table4.FindKey([DBLooKupComboBox4.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit9.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table4.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table4.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table4.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit9.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox5.Text<>'' then
begin
Table5.IndexFieldNames:= 'DESCRIPCION';
if Table5.FindKey([DBLooKupComboBox5.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit10.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table5.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table5.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table5.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit10.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox6.Text<>'' then
begin
Table6.IndexFieldNames:= 'DESCRIPCION';
if Table6.FindKey([DBLooKupComboBox6.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit11.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table6.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table6.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table6.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit11.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox7.Text<>'' then
begin
Table7.IndexFieldNames:= 'DESCRIPCION';
if Table7.FindKey([DBLooKupComboBox7.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit12.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table7.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table7.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table7.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit12.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox8.Text<>'' then
begin
Table8.IndexFieldNames:= 'DESCRIPCION';
if Table8.FindKey([DBLooKupComboBox8.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit13.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table8.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table8.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table8.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit13.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
//-------------------------------------------------------------
if dblookupcombobox9.Text<>'' then
begin
Table9.IndexFieldNames:= 'DESCRIPCION';
if Table9.FindKey([DBLooKupComboBox9.Text])=True then
begin
Table12.Insert;
Table12.FieldByName('CANTIDAD').AsFloat:= StrToFloat(Form17.Edit14.Text);
Table12.FieldByName('DESCRIPCION').AsString:= Table9.FieldByName('DESCRIPCION').AsString;
Table12.FieldByName('PRECIO').AsFloat:= Table9.FieldByName('PRECIO').AsFloat;
Table12.FieldByName('SUBTOTAL').AsFloat:= Table9.FieldByName('PRECIO').AsFloat * StrToFloat(Form17.Edit14.Text);
Table12.Post;
end
else
showmessage('No se ha encontrado el producto');
end;
end;

end.
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
Finalizar una Condición jdangosto OOP 3 02-12-2005 08:57:38
Mensaje de error majosf Conexión con bases de datos 2 16-11-2005 20:25:46
Mensaje de error Luli Varios 3 31-10-2005 13:59:02
Mensaje de error Ana Tudela Conexión con bases de datos 1 14-09-2004 16:47:43
¿Cómo finalizar una aplicación desde la mía? Lester Varios 7 10-11-2003 22:49:28


La franja horaria es GMT +2. Ahora son las 20:23:21.


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