Delphi - busqueda en BD

 
Vista:

busqueda en BD

Publicado por Zoveida Montoya (23 intervenciones) el 05/10/2001 23:12:44
Necesito hacer una busqueda en mi base de datos para saber si el dato que estoy tecleado ya existe, habia encontrado algo como esto:

if (table1.KeyFind([numcontro.text])) then
ya existe
else
sino existe puedo dar de alta los demas datos

Pero no puedo tal parece que la palabra KeyFind no esta incluida en el programaa o no se si la estoy escribiendo mal, la verdad ya no se que ponerle, agradeceria mucho tu ayuda...... please.

Ademas necesito activar el campo para que cambie cuando le doy un enter pero al habiitar el evento OnEnter no funciona que debo hacer.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:busqueda en BD

Publicado por mamcx (36 intervenciones) el 06/10/2001 03:26:58
No te fijaste en la ayuda? Se que para nosotros que hablamos Español puede ser complicado el ingles... una alternativa es obtener un traductor (hay un semi-traductor llamado Babylon, o en altavista se puede bajar uno...)

En fin, para buscar registros puedes usar uno de los siguientes metodos de TDataSet:

1- Locate= Para buscar varios valores en varios campos:

Es menos complicada, y se tiene control sobre lo que se buscar... Te recomiendo mejor esta...

Ej: Buscando en varios campos a la vez:

with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '831-431-1000']), [loPartialKey]);

Uno solo

with CustTable do
Locate('Company', ['Sight Diver']), [loPartialKey]);

2- FindKey. Como lo tienes esta en la ayuda, pero ahi menciona que "KeyValues contiene una cadena delimitada por comas de valores de los campos" y el punto clave es que DEPENDE del orden de los campos

3- Usando la propiedad Filter y Filtered (NO RECOMENDADA con la BDER y componentes TTable)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:busqueda en BD

Publicado por PonchoWare (27 intervenciones) el 08/10/2001 22:29:40
Pues la primer pregunta ya te la contesto mamcx, pero eso del OnEnter... no se de donde haya salido ese mito (hasta un maestro en la escuela se lo creyo), pero ese evento no se ejecuta el presionar Enter sino al entrar al control... seria como GotFocus del VB, asi que lo que debes hacer es evaluar la tecla pulsada en OnKeyDown, si es Enter pues ya haces lo que quieras...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:busqueda en BD

Publicado por Ernesto D'Spirito (706 intervenciones) el 09/10/2001 18:22:21
El método no se llama KeyFind sino FindKey. Puedes encontrar más sobre búsquedas en mi artículo PROGRAMACION DE BASES DE DATOS EN CODIGO publicado en el Boletín Pascal #7:

http://www.latiumsoftware.com/es/pascal/0007.php3

El evento OnEnter se produce cuando el control obtiene el foco, y cuando lo pierde se produce el evento OnExit.

Para saber si se ha presionado la tecla ENTER , usa el evento OnKeyPress y dentro de él pregunta si el parámetro Key vale #13:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
ShowMessage('Se presionó la tecla INTRO');
end;

Espero que te sirva.

Ernesto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar