Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2012
loquillo3 loquillo3 is offline
Miembro
 
Registrado: oct 2007
Posts: 51
Poder: 17
loquillo3 Va por buen camino
Problemas para controlar la duplicidad de registros

Saludos, he creado este hilo debido a que tengo un pequeño inconveniente para controlar la duplicidad de registros dentro de una misma tabla y a la misma vez en tablas diferentes, he utilizado el siguiente codigo en dos pasos:

PASO 1:

Código SQL [-]
Select * from tbeneficiario2
where cedula2 =: pcedula

Nota: tbeneficiario2 es el nombre de la tabla, Cedula2 es el nombre del campo en la tabla. Pcedula es el parametro que se evaluara con Cedula2.


PASO 2:
Tomando en cuenta que el codigo se encuentra en el evento OnExit del DbEdit (que en este caso es dbCedula2). El Query enn este caso es (qCedula2), ek nombre del DataModulo es DataModule1, el nombre de la tabla es TBeneficiario2, el dbedit1 es el nombre del dbedit que ira el foco una vez haya cancelado la insercion.
Código Delphi [-]
with DataModule1.qCedula2 do
begin
close;
ParamByName(´pCedula´).value:=dbCedula2.text;
Open;
if not IsEmpty then
begin
ShowMessage(´Esta Cedula Existe´);
Datamodule1.tBeneficiario2.cancel;
end
else
Begin
dbedit1.SetFocus;
end;
end;


pero con este codigo no he tenido resultado alguno.

De antemano les agradeceria cualquier sugerencia
Responder Con Cita
  #2  
Antiguo 09-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola loquillo3.

Si no te interpreté mal, esto tendría que funcionarte:
Código Delphi [-]
procedure TForm1.DBCedula2Exit(Sender: TObject);
begin
  with DataModule1.qCedula2 do
  try
    Close;
    ParamByName('PCEDULA').AsString := DBCedula2.Text;
    Open;
    if not isEmpty then
    begin
      MessageBox(Self.Handle, 'Cédula existente', '', MB_ICONERROR + MB_OK);
      DBEdit1.SetFocus;
      Abort
    end
  finally
    Close
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 09-09-2012
loquillo3 loquillo3 is offline
Miembro
 
Registrado: oct 2007
Posts: 51
Poder: 17
loquillo3 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola loquillo3.

Si no te interpreté mal, esto tendría que funcionarte:
Código Delphi [-]
procedure TForm1.DBCedula2Exit(Sender: TObject);
begin
  with DataModule1.qCedula2 do
  try
    Close;
    ParamByName('PCEDULA').AsString := DBCedula2.Text;
    Open;
    if not isEmpty then
    begin
      MessageBox(Self.Handle, 'Cédula existente', '', MB_ICONERROR + MB_OK);
      DBEdit1.SetFocus;
      Abort
    end
  finally
    Close
  end;
end;

Saludos.


ecfisa, unos de los errores me lo da en el ParamByName en cierto modo no me reconoce ese comando, pero intentare con el que me has dado
Responder Con Cita
  #4  
Antiguo 09-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por loquillo3 Ver Mensaje
ecfisa, unos de los errores me lo da en el ParamByName en cierto modo no me reconoce ese comando, pero intentare con el que me has dado
Hola.

No habías mencionado un problema en la sentencia SQL. Pero si la copiaste textualmente, el error está en que no debe existir espacio entre los dos puntos y el nombre del parámetro:
Código SQL [-]
SELECT * 
FROM TBENEFICIARIO2
WHERE CEDULA2 = :PCEDULA

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 09-09-2012
loquillo3 loquillo3 is offline
Miembro
 
Registrado: oct 2007
Posts: 51
Poder: 17
loquillo3 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

No habías mencionado un problema en la sentencia SQL. Pero si la copiaste textualmente, el error está en que no debe existir espacio entre los dos puntos y el nombre del parámetro.
Saludos.
El espacio lo puse ya que me presentaba una carita
Responder Con Cita
  #6  
Antiguo 09-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por loquillo3 Ver Mensaje
El espacio lo puse ya que me presentaba una carita
Entiendo.

Bueno entonces quedamos a la espera del resultado de tu prueba...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Duplicidad de registros jimmy_aei Firebird e Interbase 10 05-01-2012 22:05:43
Controlar Cantidad de registros en detalle el-mono Impresión 2 30-12-2008 16:04:01
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql Arturo MySQL 3 05-09-2006 18:39:37
Problemas para la insercion de Registros taru MySQL 7 14-07-2006 05:20:00
Problemas para guardar registros Nelly Varios 1 19-01-2006 23:22:02


La franja horaria es GMT +2. Ahora son las 15:50:34.


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