PDA

Ver la Versión Completa : Como consultar informaciòn de una tabla con una tecla de funcion


maravert
19-04-2006, 04:41:47
Hola a todos:

Me gustaria que alguien me pudiera dar una idea, ya que no sè ni por donde entrarle.

Tengo una tabla de clientes en paradox clientes.db y otra de articulos articulos.db

Necesito hacer un programa para que cuando el usuario tome los pedidos de los clientes busque un cliente al poner su clave lo localice y si el quiere por su nombre, o por su apellido buscar con uan tecla de funcion pueda, por ejemplo si un cleinte se apellifa RODRIGUEZ y el Usuario al teclar RODRIGUEZ apaezcan todos los clilentes que se llamen "RODRIGUEZ" y de alli seleccionar al que busca y seGuir con el procedimient, lo msimo con articulos, pero si me ayudan con uno el otro es parecido.

Les pido me den un empujòn y luego me voy solo.

Gracias de antemano

Alemar

Sotrono
19-04-2006, 05:09:25
Hola, No entiendo como lo queres hacer, a que te referis con lo de tecla de función??. Te digo como lo haría yo:
Pondría un TEdit el cual va a contener la cadena a buscar. Cada vez que se modifique el contenido del mismo se van a mostrar todos los registros de la BD que contengan la palabra del Edit:

En el evento OnChange de TEdit pone esto:

procedure TfrmPrincipal.EBusquedaChange(Sender: TObject);
begin
with Query1 do begin
Close;
if EBusqueda.Text = '' then
SQL.Text := 'SELECT * FROM Clientes'
else begin
SQL.Text:= 'SELECT * FROM Clientes WHERE UPPER(Nombre) LIKE (UPPER(:Nombre))';
ParamByName('Nombre').Value := '%' + EBusqueda.Text + '%';
end;
Open;
end;
end;


Si lo que queres es permitir que la busqueda se haga por el campo nombre o por el de codigou otro, podes poner un RadioButton por cada Campo por el que queres que se pueda realizar la busqueda y agregar una rutina en el evento OnChange del TEdit que chequee qué RadioButton es el que esta checkeado.

Bytes..

Zeta
19-04-2006, 05:52:14
a ver si entendí

cuando quiero buscar una persona por ejemplo presiono F3 y aparece o una pantallita con la búsqueda o hago foco en un textbox para la búsqueda

Tenés que poner en el evento keydown del formulario:

procedure TfrmMiFormulario.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = VK_ESCAPE) then Close;//Ejemplo: cierro el form;
if (Key = VK_F1) then ...;//Ejemplo: abro la ayuda;
if (Key = VK_F3) then ...;// Ejemplo: abro la búsqueda;
end;


Y poner la propiedad del form "Key Preview" a "TRUE" para que funcione cuando se aprete una tecla

Para otras teclas buscá la ayuda sobre las "Virtual key codes"

Esto es por lo de las teclas, lo demás es trabajar sobre la base de datos con búsquedas, que creo que algo te contestó Sotrono (no lo leí completo, ni analizé)

Saludos

Lepe
19-04-2006, 12:40:48
Una forma de "ordenar" esas cosas es mediante un TActionList, a cada uno de los Taction le asignas una tecla Rápida, (puede ser una tecla de función o una combinación de teclas), despues asignas el Action a cada botón por separado.

Un Taction es simplemente un procedure que se ejecuta, bien cuando hace clic en un botón que está enlazado, o bien cuando se pulsa su tecla rápida (ShortCut)

El cliente escribe "rodriguez" en la ventana de pedidos y pulsa F3, en esa ventana tienes un Taction que al pulsar F3:

Crea la ventana de búsqueda en forma Modal (frmbusqueda.ShowModal), permite escribir el nombre, apellido, etc, se hace la búsqueda y muestra los resultados; el usuario hace clic en un resultado y pulsa Intro. La ventana devuelve el código del cliente y se cierra.

Como la ventana se mostró de forma modal, la ventana de pedidos se queda esperando justo en el mismo punto que llamaba a frmbusqueda.ShowModal, ahora recoges el código que ha devuelto frmBusqueda y rellenas la caja de texto en la ventana de pedidos.

Más o menos es la lógica.

Saludos

maravert
20-04-2006, 02:28:42
Muchas gracias a todos por responderme, voy a probar y a empezar con el programa, gracias, nunca dejare de formar parte de este foro, enhorabuena por los creadores.

Alemar