Ver Mensaje Individual
  #1  
Antiguo 22-05-2008
Avatar de Alexandro
Alexandro Alexandro is offline
Miembro
 
Registrado: mar 2008
Ubicación: Mayarí Holguín Cuba
Posts: 127
Reputación: 17
Alexandro Va por buen camino
Unhappy Tabla no se actualiza

Hola a todos nuevamente:
Ayer me encontré con un problema y realmente no se que pasa.
Estoy usando delphi 7 y Paradox7. Tengo 2 tablas: TDatos y TAlmacen
En TDatos estan los datos reales que existen y en TAlmacen las cosas del almacen. Ahora bien, yo deseo sustituir algo en TDatos por algo que está en TAlmacen.
Entonces a TDatos le digo que localice el registro que deseo cambiar (campo unico) y que cambie la informacion del registro por una de TAlmacen y Que TAlmacen borre esa que se puso en TDatos y agregue la que quité en TDatos.
El codigo es este:

Código Delphi [-]
                            
FPrincipal.TDatos.Open;
FPrincipal.TDatos.Locate('No_Inventario',FModifica.CB_Inventario_Mejora.Text,[]);
Campo1:=FPrincipal.TDatos.FieldByName('Monitor').AsString;
Campo2:=FPrincipal.TDatos.FieldByName('Monitor_Estado').AsString;
with FPrincipal.TDatos do
                             begin
                               Open;
                                                     Locate('No_Inventario',FModifica.CB_Inventario_Mejora.Text,[]);
                                                     //guardo los cambios
                                                     Edit;
                                                     FieldByName('Monitor').AsString:=QAlmacen.FieldByName('Marca').AsString;
                                                     FieldByName('Monitor_Estado').AsString:=QAlmacen.FieldByName('Estado').AsString;
                                                     Post;
                                                     Close;
                                                  end;

                              with TAlmacen do
                                            begin
                                               Open;
                                                if Locate('Medio ; Marca',VarArrayOf(['Monitor',Campo1]),[]) then  Delete;
Insert;
                                                FieldByName('Fecha').AsDateTime:=Date;
                                                FieldByName('No_Inventario').AsString:=FModifica.CB_Inventario_Mejora.Text;
                                                FieldByName('Medio').AsString:='Monitor';
                                                FieldByName('Marca').AsString:=Campo1;
                                                FieldByName('Estado').AsString:=Campo2;
                                               Post;
                                               Refresh;
                                               Close;
                                            end;

Ahora que pasa con esto. En ocaciones TAlmacen borra el registro y agrega el que tiene que agregar, pero otras veces solo agrega y no borra el registro.
Les pido que le echen un vistazo al codigo y me digan que hay mal.
Salu2 y suerte.
Chao
Responder Con Cita