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
  #1  
Antiguo 27-12-2006
Lucas_diaz1810 Lucas_diaz1810 is offline
Miembro
 
Registrado: nov 2006
Posts: 12
Poder: 0
Lucas_diaz1810 Va por buen camino
EOleException La Operacion en varios pasos genero errores

Saludos

El problema es el siguiente:

Estoy ejecuntando dos querys uno para leer datos de de los empleados de la Tabla Empleados y tomar el codigo de estos guardando el valor en una variable, para luego en otro query consultar por codigo las ausencias de ese empleado en la tabla ausencias y grabar en otra tabla (tmpAus) para la cual utilizo un ADOTable la cantidad de ausencias de c/u de los empleados para su respectivo desc. en la nomina.

Hasta aqui todo va bien pero al ir grabando a la tabla (tmpaus) luego de cierta cantidad de registro truena el delphi y el mensaje es:

EOleException La Operacion en varios pasos genero errores

que prodria ser?

Aqui esta el codigo del boton cargar ausencias, que es el uso para generar lo antes mencionado.

Código Delphi [-]
procedure TFrmAusencias.BtnEjecutarClick(Sender: TObject);
 var
 Contador: Integer;
 Valor :String;
 begin
       Label2.Visible:= True;
                       // Eliminar Todos Los Registros TBLtemp
      qryBorrar.Close;
      qryBorrar.SQL.Clear;
      qryBorrar.SQL.Append('DELETE FROM tmpaus');
      qryBorrar.SQL.Append('WHERE Codbar => 1');
      qryBorrar.ExecSQL;
                     // Comenzamos a Cargar las Ausencias aTabla TmpAus
                QryEmpleados.First;
                 while not QryEmpleados.Eof do
                 begin
                 Valor := QryEmpleadoscodbar.AsString;
                                 // consultar y contar ausencias
                 qryAusencias.Close;
                 qryAusencias.SQL.Clear;
                 qryAusencias.SQL.Append('SELECT codigo, codbar FROM ausencia');
                 qryAusencias.SQL.Append('WHERE Codbar ='+Valor);
                 qryAusencias.Open;
                               // Verificamos si la consulta tiene datos
                      if not qryAusencias.IsEmpty then
                      begin
                          Contador := qryAusencias.RecordCount;
                          ADOTable1.Append;
                          ADOTable1.Fields[0].Value := qryAusencias.Fields[0].Value;
                          ADOTable1.Fields[1].Value := qryAusencias.Fields[1].Value;
                          ADOTable1.Fields[2].Value := contador;
                                              //Mostrar Barra de Progreso al los usuarios
                          progressbar1.Position := QryEmpleados.RecNo;
                                             // Hacemos el next para QryEmpleados
                         QryEmpleados.Next;
                      end
                         else  // Si la consulta no tiene datos se ejecuta aqui
                      begin
                         QryEmpleados.Next;
                      end;
                 end;
                                     //Informando al usuario el final del proceso
          Showmessage('Proceso finalizado');
          progressbar1.Position:= qryAusencias.RecNo-1;
          Label2.Visible:=False;
 end;

Última edición por Lucas_diaz1810 fecha: 28-12-2006 a las 06:37:53.
Responder Con Cita
  #2  
Antiguo 27-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Es imposible seguir el código, añade las etiquetas delphi.

http://www.clubdelphi.com/foros/showthread.php?t=10003

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 28-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En principio, veo que no haces un Adotable1.Post.

Realmente no hace falta, ya que al moverse de registro, se guarda el anterior, pero no está demás añadirlo.

Quizás te interese AdoTable1.AppendRecord (espero que tenga ese método el Adotable), que solo es una línea.

También puedes simplificar esto:
Código Delphi [-]
    QryEmpleados.Next;
                      end
                         else  // Si la consulta no tiene datos se ejecuta aqui
                      begin
                         QryEmpleados.Next;
                      end;

Esa línea se debe ejecutar en ambos casos del if, por tanto, sácalo fuera. No dará error, es una simple optimización.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
La operacion en varios pasos generó errores. Compruebe los valores de estado. Cabanyaler Conexión con bases de datos 6 06-08-2007 21:13:15
ToolBar como Genero una mtpedro Conexión con bases de datos 2 29-10-2004 16:14:01
EOleException heinrich Varios 0 25-09-2004 01:39:49
Errores varios jmselesan Varios 3 24-07-2003 14:03:14
La operación en varios pasos generó errores. aig Conexión con bases de datos 0 24-07-2003 10:47:05


La franja horaria es GMT +2. Ahora son las 11:48:53.


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