FoxPro/Visual FoxPro - ¿EN qué le puedo estar errando en este código??

   
Vista:

¿EN qué le puedo estar errando en este código??

Publicado por Andrea (325 intervenciones) el 13/11/2010 14:16:34
Hola a todos!

Tengo un problema de velocidad al cargar un formulario de búsqueda de artículos en una terminal de red, que muestra un LISTBOX todos los códigos y nombres de artículos.

*----------------------------------------------------------

OPCION 1: Si en el RowSource Type pongo 6 (campos) y en el RowSource pongo

ARTICULOS.NOMBRE, CODIGO

la apertura del form es casi instantánea

*----------------------------------------------------------

OPCIÓN 2: Si en el RowSource Type pongo 3 (Instrucción SQL) y en el RowSource esribo

SELECT NOMBRE, CODIGO FROM ARTICULOS ORDER BY NOMBRE INTO CURSOR temp

la apertura del form tarda como 5 segundos!!!

*-------------------------------------

Evidentemente no es problema de red, sino que hay algo en el Select que hace que sea tan lento.
¿QUE PUEDE PASAR? ¿EN que LE ESTOY ERRANDO???

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:¿EN qué le puedo estar errando en este código??

Publicado por victor perez (278 intervenciones) el 13/11/2010 21:07:58
Hola,

En mis programas, siempre alimento los LisTBOX mediante un "ALIAS".

Corro el filtro que contiene un comando SELECT SQL.

Lo guardo en un cursor

Le digo al sistema que el rowsource, son los campos que deseo del cursor.

Nunca he tenido problema alguno.

Es mas tengo algo parecido a lo que tienes, si el codigo de un SERVICIO no existe, se abre un Formulario con un listbox y un txtBox...el ListBox automaticamente es alimentado con todos los SERVICIOS que tengo en la Tabla de Servicios.

Creo que todo depende tambien del volumen de DAtos.

No he tenido experiencia usando Fields o SQL Statment...como Rowsource.

Si alguien conoce alguna razon, pues que la exprese. Asi aprendemos todos.

Victor,
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:¿EN qué le puedo estar errando en este código??

Publicado por Andrea (325 intervenciones) el 13/11/2010 23:59:22
Gracias Victor, por tu opinión.

La tabla en cuestión tiene 2500 registros aproximadamente.

Lo raro es que es casi instantáneo cuando se abre el LISTBOX alimentado directamente de la tabla.

Por lo que entiendo, lo que haces tu es

- crear un cursor mediante Select SQL con los campos que te interesan
- asignas el cursor en el rowsource del listbox

¿Es así?

Muchas gracias
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