FoxPro/Visual FoxPro - Mensaje Ejecutando consulta

   
Vista:

Mensaje Ejecutando consulta

Publicado por DAju_k (18 intervenciones) el 28/08/2009 13:00:52
Muy buenos dias, le quiero comentar lo siguiente, tengo un sistema de stock el cual, esta istalado en una maquina y comparto la carperta a otras 5 maquinas de donde tengo en cada una de ellas un icono de referencia a dicha carpeta compartida, ahora bien. el tema esta que cuando escribo algo en un texbox para que haga una busqueda en una base de datos de 5.000 registros me sale un cartel que dice ejecutando consulta o run query con una barra de progreso y esto dificulta la operacion del sistema.

el codigo es este

thisform.gridpdt.RecordSource=" "

SELECT stkpdt.pdtid,;
stkpdt.pdtdesc,;
stkpdt.pdtstk,;
stkpdt.pdtvmen,;
stkpdt.pdtstktmp,;
stkpdt.pdtdep0,;
stkpdt.pdtdep1,;
stkpdt.pdtdep2,;
stkpdt.pdtljtval,;
stkpdt.pdtljtcant,;
stkpdt.pdtvmay,;
stkpdt.pdtdisc,;
stkpdt.pdtmin,;
stkpdt.pdtumed,;
stkpdt.pdtcost;
FROM stkpdt;
WHERE stkpdt.pdtdesc like descripcion AND stkpdt.pdterr = .F.;
ORDER BY stkpdt.pdtdesc;
INTO CURSOR productos

thisform.gridpdt.RecordSource="productos"

esto es visualizado en un grid. ( este codigo esta en el interactivechanmge del text box)

Les agradeceria si me dan una ayudita para ver si esta bien o que puedo estar haciendo mal. desde ya gracias
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:Mensaje Ejecutando consulta

Publicado por juan286 (179 intervenciones) el 29/08/2009 12:12:11
Posiblemente sea por en interactivechange un vez paso lo mismo lo que hice fue usar el Keypress y todo salio genial

Evento KEYPRESS
if (nkeycode = 13 and !empty(this.value))

SELECT pdtid,;
pdtdesc,;
pdtstk,;
pdtvmen,;
pdtstktmp,;
pdtdep0,;
pdtdep1,;
pdtdep2,;
pdtljtval,;
pdtljtcant,;
pdtvmay,;
pdtdisc,;
pdtmin,;
pdtumed,;
pdtcost;
FROM stkpdt;

WHERE stkpdt.pdtdesc like descripcion AND stkpdt.pdterr = .F.;
ORDER BY stkpdt.pdtdesc;
INTO CURSOR productos

thisform.gridpdt.RecordSource="productos"

endif
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:Mensaje Ejecutando consulta

Publicado por Daju_k (18 intervenciones) el 29/08/2009 12:30:07
gracias x contestar, el caso es que de esa forma solo buscaria cuando se coloque enter y no cada ves que se presiona una tecla....
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:Mensaje Ejecutando consulta

Publicado por juan286 (179 intervenciones) el 01/09/2009 04:02:28
Yaya colocalo de la siguiente forma en el interactivechange

SET EXACT OFF
SET NEAR ON
cadena = 'SELECT * from producto WHERE
ALLTRIM(thisform.Text1.Value) $ nombre INTO CURSOR grid_nombre'

complementalo

cad= 'SELECT stkpdt.pdtid,;
stkpdt.pdtdesc,;
stkpdt.pdtstk,;
stkpdt.pdtvmen,;
stkpdt.pdtstktmp,;
stkpdt.pdtdep0,;
stkpdt.pdtdep1,;
stkpdt.pdtdep2,;
stkpdt.pdtljtval,;
stkpdt.pdtljtcant,;
stkpdt.pdtvmay,;
stkpdt.pdtdisc,;
stkpdt.pdtmin,;
stkpdt.pdtumed,;
stkpdt.pdtcost;
FROM stkpdt;
WHERE stkpdt.pdtdesc like descripcion AND stkpdt.pdterr = .F.;
ORDER BY stkpdt.pdtdesc;
INTO CURSOR productos'


yo lo uso asi y solo tiene k teclar y el mismo foxpro espero k con esto lo hagas
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:Mensaje Ejecutando consulta

Publicado por jose camilo (688 intervenciones) el 01/09/2009 22:11:24
la busqueda cada vez que pulse una tecla hace el sistema lento mas si toma en cuanta que pueden pulsar de 5 a 10 tecla por busqueda

en lo personal lo cargo a un cursor en el init del combo y luego lo busco es este curso y con un timer cada x tiempo lo recargo solo por si acaso a cambiado algo
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