Page 1 of 1

Ver en combo registros filtrados

PostPosted: Wed Aug 20, 2008 8:45 pm
by jaba
Antonio

Saludio Cordial

Gracias por responder y disculpa si te hice la pregunta en el sitio inadeciado

Se poner en un combo los registros de una base, pero como se puede ver en un combo los registros filtrados?


Antonio como siempre mis mejores deseos para ti y los tuyos
DE ANTEMANO GRACIAS POR TU ENSEÑANZA

Cordialmente

Jairo Barbosa

PostPosted: Thu Aug 21, 2008 7:13 am
by Antonio Linares
Jairo,

Siempre solicitamos que las preguntas técnicas se hagan en estos foros para que todos podamos participar, gracias :-)

Cuando dices que pones los registros en un combobox, te refieres a un control TDbCombo ?

Cuantos registros tiene la base de datos ?

PostPosted: Thu Aug 21, 2008 7:15 am
by Antonio Linares
Que tipo de filtro usas ? Es un índice ó un SET FILTER ?

Filtros en combos

PostPosted: Thu Aug 21, 2008 1:03 pm
by jaba
Antonio Linares wrote:Que tipo de filtro usas ? Es un índice ó un SET FILTER ?


Antonio

Si Gracias.. asi lo entiendo y Gracias por tu respuesta
Pretendo a manera de ejercicio hacer una aplicación que muestre la Biblia, lo intente hacer con una sola tabla y funciona bien, tengo un dialogo con tres combos en el primero selecciono el nombre del libro, en el segundo selecciono el capitulo y en el tercero selecciono el versículo hago un filtro así:

Set Filter to Nombrelib=cNombrelib.and.Capitulo=cCapitulo.and.numver=cNumver.

En el arreglo del Array para en contenido de los combos contiene una serie de números que corresponden a los capítulos cuando se hace la selección, la pregunta concreta es como puedo hacer para que los números que se encuentran en el array se ajusten automáticamente a la cantidad de capitulos que tiene el libro que se selecciono con el combo anterior?

Bueno Antonio espero que aya sido entendible mi explicación

Cordialmente
Jairo Barbosa

PostPosted: Sun Aug 24, 2008 7:48 pm
by jaba
Antonio Linares wrote:Que tipo de filtro usas ? Es un índice ó un SET FILTER ?


Antonio

asi es el arreglo de los combos que empleo y la cantidad de registros que va a contener despues de hacer el filtro varian de acuerdo al capitulo, pero esta cerca de 50 versiculos

aItems:={" ","Genesis","Exodo","Abdias"}
aItems1:={" ","1","2","3","4","5","6"}

IF EMPTY(cNombrelib) .OR. ;
ASCAN(aItems,cNombrelib) == 0
cNombrelib:= aItems[1]
ENDIF

REDEFINE COMBOBOX oCombo VAR cNombrelib ITEMS aItems ID 4001
OF oDlg

IF EMPTY(cCapitulo) .OR. ;
ASCAN(aItems1,cCapitulo) == 0
cCapitulo:= aItems1[1]
ENDIF

REDEFINE COMBOBOX oCombo1 VAR cCapitulo ITEMS aItems1 ID
4003 OF oDlg

PostPosted: Mon Sep 01, 2008 7:05 pm
by Antonio Linares
Un filtro sobre una base de datos que contenga muchos registros es lento.

Lo adecuado es crear un índice condicional y temporal con la condición de búsqueda que se haya seleccionado:

INDEX ON ... TO ... FOR <condicion>

SET INDEX TO ...