ALGO NUEVO EN UN COMBO

NICO
31 de Agosto del 2004
QUE TAL
MI DUDA ES COMO PODER HACER QUE CUANDO ESCRIBA EN UN COMBO AUTOMATICAMENTE VAYA MOSTRANDO DE SU CONTENIDO LO QUE COINCIDA HASTA EL MOMENTO CON EL CRITERIO ESCRITO

Raul
31 de Agosto del 2004
Puedes utilizar un TextBox y un List en conjunto:

En el evento GotFocus del textbox:

STORE SPACE(40) TO VENBUS &&variable
xenter=.f. &&variable que maneja el lastkey()

En el evento KeyPress:

IF LASTKEY()=13
xenter=.T.
wven=vendedor.ncodigo
vend=vendedor.codigo
store space(40) to venbus
WITH THISFORM
.text6.REFRESH
.container1.text5.REFRESH
.container1.text5.VISIBLE=.T.
.container1.text5.tabstop=.f.
.container1.text8.VISIBLE=.F.
.container1.label3.VISIBLE=.T.
.container1.list1.VISIBLE=.F.
ENDWITH
ELSE
THISFORM.container1.list1.VISIBLE=.T.
xenter=.F.
ENDIF

En el evento InteractiveChangeL

LOCAL nindex
FOR nindex=1 TO THISFORM.CONTAINER1.list1.LISTCOUNT
IF SUBSTR(UPPER(THISFORM.CONTAINER1.list1.LISTITEM(nindex)),1,LEN(UPPER(ALLTRIM(THIS.VALUE))))=UPPER(ALLTRIM(THIS.VALUE))
THISFORM.CONTAINER1.list1.LISTINDEX=nindex
EXIT
ENDIF
ENDFOR
THISFORM.CONTAINER1.list1.REFRESH

Y en el evento LostFocus:

WITH THISFORM
.container1.text9.REFRESH
.container1.text9.VISIBLE=.T.
.container1.text9.SETFOCUS
ENDWITH

El List tiene que estar asociado a una tabla y el Rowsource poner el nombre de la tabla o cursor.

Espero te ayude.

Raul

sgomez
31 de Agosto del 2004
Tenés que poner en la propiedad style del combo la opcion "lista desplegable"