Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-01-2007
chetos7 chetos7 is offline
Miembro
 
Registrado: ene 2007
Posts: 15
Poder: 0
chetos7 Va por buen camino
Error al saltar de Reporte a Actualizacion de Registro

Hola, asi esta la cosa: Tengo un programa que es sobre un biblioteca, hago un reporte del cual el codigo es el siguiente:
Código Delphi [-]
 modulodedatos.FiltradoL;
   modulodedatos.ADOQuery2.Open;
   modulodedatos.ADOQuery2.First;
   ComboBox1.Items.Clear;
   while not modulodedatos.ADOQuery2.Eof do
   begin
      ComboBox1.Items.Add(modulodedatos.ADOQuery2['Titulo']);
      modulodedatos.ADOQuery2.Next;
   end;
   modulodedatos.ADOQuery2.Close;

El de FiltradoL es el siguiente:
Código Delphi [-]
ADOQUERY2.SQL.Clear;
   ADOQUERY2.SQL.add('select distinct Titulo from libros order by Titulo');

Esos procedimientos para llenar un ComboBox de los registros detitulos diferentes de titulos de libros, de ahi, hago la union de DBGrid con el Adoquery
Código Delphi [-]
 titulo:=ComboBox1.Text;
      modulodedatos.ConsultaLibroTitulo(titulo);
      modulodedatos.midatasource3.DataSet:=modulodedatos.ADOQuery1;
      modulodedatos.ADOQuery1.Open;
      DBGrid1.DataSource:=modulodedatos.midatasource3;

Imprimo el reporte

Código Delphi [-]
 pformareporte.Preview;
   close;
   limpiar;
   modulodedatos.ADOQuery1.Close;
   modulodedatos.miadotable.Active:=False;

De ahi me voy a actualizar usuario,primero lo busco

Código Delphi [-]
if modulodedatos.BuscaUsuario(id)=true then
       begin
          edit1.Enabled:=false;
          Button1.Enabled:=false;
          Button4.Enabled:=true;
          Button2.Enabled:=true;
          Button3.Enabled:=true;
          Button5.Enabled:=true;
          edit2.Enabled:=true;
          edit3.Enabled:=true;
          edit4.Enabled:=true;
          edit5.Enabled:=true;
          edit8.Enabled:=true;
          edit9.Enabled:=true;
          edit8.Text:=modulodedatos.miadotable2['ApellidoPaterno'];
          edit9.Text:=modulodedatos.miadotable2['ApellidoMaterno'];
          edit2.Text:=modulodedatos.miadotable2['Nombre'];
          edit3.Text:=modulodedatos.miadotable2['Direccion'];
          edit4.Text:=modulodedatos.miadotable2['Telefono'];
          edit5.Text:=modulodedatos.miadotable2['Email'];
          if modulodedatos.miadotable2['Status']='0' then RadioButton1.Checked:=true
          else radiobutton2.Checked:=true;

El codigo de BuscaUsuario es

Código Delphi [-]
modulodedatos.miadotable2.TableName:='usuarios';
   modulodedatos.midatasource2.DataSet:=miadotable2;
   modulodedatos.miadotable2.Active:=true;
   if modulodedatos.miadotable2.Locate('IdUsuario',id,[]) = true then
      BuscaUsuario:=true
   else
      BuscaUsuario:=false;

Hasta ahi todo va bien, pero ya que cambie algunos campos de datos, le doy actualizar que hace lo siguente:

Código Delphi [-]
id:=StrToint(edit1.Text);
      apaterno:=edit8.Text;
      amaterno:=edit9.Text;
      nombre:=edit2.Text;
      dir:=edit3.Text;
      tel:=edit4.Text;
      mail:=edit5.Text;
      if (RadioButton1.Checked= true) then
         status:='0'
      else
         status:='1';
      modulodedatos.ActualizaUsuario (id,apaterno,amaterno,nombre,dir,tel,mail,status);

Y ActualizaUsuario tiene

Código Delphi [-]
 modulodedatos.ADOQuery1.SQL.Clear;
    modulodedatos.ADOQuery1.SQL.Add('update usuarios set ');
    modulodedatos.ADOQuery1.SQL.Add('ApellidoPaterno=:apaterno,');
    modulodedatos.ADOQuery1.SQL.Add('ApellidoMaterno=:amaterno,');
    modulodedatos.ADOQuery1.SQL.Add('Nombre=:nombre,');
    modulodedatos.ADOQuery1.SQL.Add('Email=:mail,');
    modulodedatos.ADOQuery1.SQL.Add('Direccion=:dir,');
    modulodedatos.ADOQuery1.SQL.Add('Telefono=:tel,');
    modulodedatos.ADOQuery1.SQL.Add('Status=:status');
    modulodedatos.ADOQuery1.SQL.Add(' where usuarios.IdUsuario=:id');
    modulodedatos.ADOQuery1.Parameters.ParamByName('id').Value := id;
    modulodedatos.ADOQuery1.Parameters.ParamByName('apaterno').Value := apaterno;
    modulodedatos.ADOQuery1.Parameters.ParamByName('amaterno').Value:= amaterno;
    modulodedatos.ADOQuery1.Parameters.ParamByName('nombre').Value := nombre;
    modulodedatos.ADOQuery1.Parameters.ParamByName('mail').Value := mail;
    modulodedatos.ADOQuery1.Parameters.ParamByName('dir').Value := dir;
    modulodedatos.ADOQuery1.Parameters.ParamByName('tel').Value := tel;
    modulodedatos.ADOQuery1.Parameters.ParamByName('status').Value := status;
    modulodedatos.ADOQuery1.ExecSQL;
    modulodedatos.miadotable2.Refresh;

Pero al momento de pasar al Refresh me manda el error:
Código PHP:
...EAccessViolation with message AccessViolation at adress 1F453E7E in module msado15.dllWrite of address 00CD1010Process stopped... 
No se que tengo mal, tal vez hay algo mal en el reporte o algo asi, espero no abrumarlos tanto, que le entiendan al codigo y que me puedan ayudar. Por separado los hace bien, pero cuando sigo esa secuencia de funciones falla, gracias por su tiempo y atencion
Responder Con Cita
  #2  
Antiguo 27-01-2007
FOURIER FOURIER is offline
Miembro
 
Registrado: dic 2005
Posts: 40
Poder: 0
FOURIER Va por buen camino
Espero te sirva

en lugar del refres activa y desactivalo con active:=true y active:=false
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
Saltar al siguiente registro en Grid al insertar el máximo de caracteres de un campo nemesio Varios 3 15-06-2006 10:32:04
Duda en reporte Rave, respecto al alto del registro... ilichhernandez Impresión 2 28-11-2005 20:56:41
Imprimir reporte de registro actual silviodp Impresión 1 27-04-2005 22:00:37
Actualizacion de registro JorgeBec Conexión con bases de datos 8 22-11-2004 22:14:54
Error de actualizacion con DataSet Luis Conexión con bases de datos 1 23-10-2004 08:49:25


La franja horaria es GMT +2. Ahora son las 11:26: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