Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 22
salvanano Va por buen camino
Smile Por fin!!!!!!!!

No soy capaz de solucionarlo.
utilizo una base de datos en acces con un bde y 12 tables con sus correspondientes datasource, todo en un mismo form.
Parte del codigo esta arriba, y es donde me da error.saludos

Última edición por salvanano fecha: 24-05-2006 a las 01:26:59.
Responder Con Cita
  #2  
Antiguo 24-05-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 24
Paoti Va por buen camino
viendo tu código, posiblemente este sea el el error.

Código Delphi [-]
if dblookupcombobox9.Text<>'' then
begin
Table9.IndexFieldNames:= 'DESCRIPCION';
if Table9.FindKey([DBLooKupComboBox9.Text])=True then
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);
end;

Si te fijas :


Busscas el registro

Código Delphi [-]
Table9.IndexFieldNames:= 'DESCRIPCION';
if Table9.FindKey([DBLooKupComboBox9.Text])=True then
Table12.Insert;

y lo "guardas" temporalmente.

Pero si no lo encuentra, de todos modos guardas vaya saber que cosa.

Código Delphi [-]
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);
end;



saludos.

Y si haces un insert, haz un post.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #3  
Antiguo 24-05-2006
Avatar de judit25
judit25 judit25 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Bronx, NY
Posts: 122
Poder: 21
judit25 Va por buen camino
Código Delphi [-]
begin
Table1.IndexFieldNames:= 'DESCRIPCION';
if Table1.FindKey([DBLooKupComboBox1.Text])=True then

begin // aqui iria por ej en esta sentencia

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);

end // aqui termina
end;

No se si podría ayudarte esto pero intenta agregando un begin end entre cada sentencia IF que utilizas, así solamente cuando se cumpla la condición él pasara por ahí y hará el insert en la tabla.

saludos
Responder Con Cita
  #4  
Antiguo 25-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Sería bueno que postearas el código con las correcciones hechas.

Por otra parte, quizás sea conveniente que comentes como funciona la aplicación y si usas componentes de terceros.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 17-06-2006
salvanano salvanano is offline
Miembro
 
Registrado: abr 2005
Posts: 92
Poder: 22
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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 12:17: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