COMBO BOX o que debo usar? como Funcionan? POR FAVOR AYUDENME CON ESTO.

nuevo user
25 de Mayo del 2004
hola amigos,

Como puedo hacer que en una pantalla de captura de informacion el campo de nombre del cliente,......

Me permita:

1. comenzar a escribir el nombre y me vaya mostrando los que ya existen ( Como un COMBO BOX )

2. Que me lo deje adicionar si no existe en la tabla (Seria fantastico que me avisara que no existe que si lo quiero adicionar o no .... AUNQUE no es necesario).

NO SE que debo usar UN COMBO BOX (Cual? )
o el mismo campo de la tabla?

O que debo hacer???

Please contestenme y ayudenme gracias

Freddy
25 de Mayo del 2004
Investiga la función LOCATE de la consulta con Query.
En un control Edit tipea la cadena y en el evento CAMBIO de dicho control deberá estar la función LOCATE antes mencionada. El parámetro Partialkey de esta función te permite ubicarte en lo más cercano a la cadena contenida en el control Edit. Debido a que esto estaría en el evento CAMBIO del Edit, la busqueda la haría cada caracter tipeado.
Ej.
MiQuery.Locate('Campo',Edit.Text,[loPartialKey]);

Para que te avise si no existe, dentro del evento anterior compara el contenido de la cadena del Edit con el campo del registro al cual llegó por medio de la busqueda.
Para esto deberías tener un control Text al cual cambiar de contenido la propiedad Caption por "Inexistente" o "Existente" segun el caso.
Ej.
If Edit.Text<>MiQueryCampo.Value then
Text.Caption:='Inexistente
else
Text.Caption:='Existente';

Para agregar en caso de no existir te aconsejo que uses un botón para llamar el programa abm de clientes o ejecutar un inser en MiQuery.

Espero haberte ayudado.

Clara
25 de Mayo del 2004
Oye Fredy, lo que tu dices en verdad serviria??. Es decir, si por ejemplo se quiere que el control sea un combo box y por ejemplo se quiere capturar ahi el campo editorial pero ese campo editorial esta en una base de datos en una tabla que tiene dos camops el ideditorial y nomeditorial.
Necesito cargar los dos campos en el combo para que me muestre el campo nomeditorial pero me guarde el Id editorial. Aparte de eso como el combo forma parte de un formulario de capura de informacion que se trata de libros si yo doy en libro siguiente el combo debe de mostrar la editorial del correspondiente libro. lo e intentado de diferentes formas dicen que con la propiedad additem pero resulta que se tienen que utilizar indices y yo no se sobre indices me pueden ayudar.