Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Ayuda Busqueda en tabla Access con Delphi (https://www.clubdelphi.com/foros/showthread.php?t=78119)

steelha 21-03-2012 15:06:54

Ayuda Busqueda en tabla Access con Delphi
 
Buenos Días, ante todo
Siendo nuevo tanto en el foro como utilizando Delphi 7 (Solo 5 meses) he tratado de hacer una aplicación para mi y unos amigos que simplemente guarda unos datos en una tabla hecha en MS Access. El problema surge cuando trato de verificar si el campo clave existe, lo cual no pasa nada y se ejecuta la inserción de los registro provocando un error de duplicidad. Acá les paso los código haber que estoy haciendo mal. No es algo urgente, pero me ayudara a entender mis errores ya que recién empiezo. Gracias de ante manos por cualquier ayuda. :)


Conexion a la Tabla

Código Delphi [-]
Procedure TDm.DataModuleCreate(Sender: TObject);
var
  rutadata : String;
begin
  rutadata := GetCurrentDir;
  Dm.concndatafacebook.Connected := False;
  rutadata := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+GetCurrentDir+'\Data\DataCafeWorld.mdb'+';Persist Security Info=False';
  Dm.concndatafacebook.ConnectionString := rutadata;
  Dm.concndatafacebook.Connected := True;
end;


Botón Adicional
Código Delphi [-]
procedure Tfrmprincipal.rzbtbtn1Click(Sender: TObject);
begin
  //Verifiq if FID exist
  dm.qryfriend.Close;
  Dm.qryfriend.Open;
  Dm.qryfriend.First;
  Dm.qryfriend.Locate('IDF',Trim(edt9.Text),[]);
  if Dm.qryfriend.Found Then
    begin
      ShowMessage('This person its in you list ...');
    end
  else
    begin
      Dm.qryfriend.Insert;
      Dm.qryfriendName.Value  := Trim(edt7.Text);
      Dm.qryfriendEmail.Value := Trim(edt8.Text);
      Dm.qryfriendIDF.Value   := Trim(edt9.Text);
      Dm.qryfriend.Post;
      dm.qryfriend.Close;
      Dm.qryfriend.Open;
    end;

  edt7.Clear;
  edt8.Clear;
  edt9.Clear;
  edt7.SetFocus;
end;

Caro 21-03-2012 15:48:22

Hola steelha, para saber si el Locate a encontrado un "IDF" igual debes ponerlo dentro del If o asignar el resultado del Locate a una variable de tipo Boolean y preguntar por este, te devuelve True si existe.

Código Delphi [-]
 dm.qryfriend.Close;
 Dm.qryfriend.Open;
 Dm.qryfriend.First;
 
 if Dm.qryfriend.Locate('IDF',Trim(edt9.Text),[]) Then
 begin
   ShowMessage('This person its in you list ...');
 end
 else
  .....................................

Saluditos

steelha 21-03-2012 16:00:33

Muchas gracias por la ayuda Caro eres alucinante. :o WoW que fácil era y tanto tiempo perdido en esta simple solución. Muchísimas gracias :)


La franja horaria es GMT +2. Ahora son las 19:24:15.

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