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 Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 31-07-2006
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 295
Poder: 23
afxe Va por buen camino
Provocas un posteo al realizar la búsqueda.

Cuando estás añadiendo o modificando un registro de una tabla no debes provocar que el cursor se mueva del registro, que es lo que pasa cuando haces un FindKey: El registro actual que estás insertando se posteará automáticamente y siempre te dará que existe... claro, acabas de grabarlo...
Lo más rápido, sin entrar en validaciones a nivel de registros y etc, es que antes de lanzar tu MD.tbCompra.Post, hagas la búsqueda en otra tabla que contenga el mismo conjunto de datos, es decir, haz el FindKey sobre TbBuscaCompra (por ejemplo) que debe apuntar a la misma tabla de compras:

Código:
 
// OnClick del Boton Grabar
 
// Comprobamos que estoy en insercción, pues si estoy modificando un
// registro y es lógico e irrefutable que ya exista  ;-)
 
if MD.tbCompra.State = dsInsert then begin
    cRut := Md.tbCompra.FieldByName('Rut').AsString;
    cTipDoc := Md.tbCompra.FieldByName('TipDoc').AsString;
    nDoc := Md.tbCompra.FieldByName('NumDoc').AsInteger;
    Md.tbBuscaCompra.Open;  // abro justo antes de buscar
    Md.tbBuscaCompra.IndexName:='CompCom';
    If MD.tbBuscaCompra.FindKey([cRut,cTipDoc,nDoc]) THEN begin
      ShowMessage('El registro ya existe');
    end else begin
      MD.tbCompra.Post;
      ShowMessage('Registro grabado');
    end;
    md.tbBuscaCompra.Close; 
end else begin
  MD.tbCompra.Post;
  // Se supone que si estamos modificando no se han modificado los
  // campos claves.
end;
He reutilizado lo que has escrito, espero que te sirva.
Responder Con Cita
 



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
busqueda sql Dark Aeris Firebird e Interbase 10 06-06-2006 23:05:20
Busqueda Con Una Sql salvanano SQL 5 05-05-2005 20:59:11
Problemas con busqueda romansiux Conexión con bases de datos 3 30-04-2005 17:48:58
busqueda alachaise Internet 1 31-03-2005 16:57:34
Problemas con los campos Busqueda walace_soy Firebird e Interbase 5 24-09-2004 09:02:15


La franja horaria es GMT +2. Ahora son las 11:13:44.


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