Asociar combo box y textbox

Quisiera un poco de ayuda con un formulario que estoy elaborando, en el tengo un combobox donde están una serie de nombres de bancos, a su vez tengo un campo textbox donde se debe mostrar un código relacionado con cada nombre de banco, ambos datos se encuentran en una tabla, lo que necesito es que cuando introduzca un código en el textbox y le de tabulador o enter me ubique automáticamente la opción en el combobox y si la busco manualmente en el combobox al seleccionar la opción me coloque el código en el textbox.

1 respuesta

Respuesta
1
¿Dime algo ya el combo lo muestras correctamente? ¿Y si es así estas enlazando el combo a la tabla y de que manera? Ayudame con eso para poder indicarte algún tipo de solución, ah también ayudame con el nombre de la tabla
Primero que nada muchas gracias por tu ayuda. Bueno aca esta la parte del codigo con la que lleno el combobox
thisform.combo1.rowsourcetype=3
thisform.combo1.rowsource="SELECT bcodsc,bcocod FROM bancos INTO CURSOR xbancos"
SELECT xbancos
GO top
thisform.combo1.value = xbancos.bcodsc
CLEAR RESOURCES xbancos
El llena el combo correctamente, la tabla se llama bancos.dbf y pues estoy buscando la manera de enlazar el combo con el textbox de la manera que te detalle en la pregunta. El campo de la tabla que tiene el nombre del banco es BCODSC y el que tiene el código es BCOCOD
ah ok entonces basicamente tu tienes un cursor entonces si quieres pasar el codigo del combo al text pues en el evento interactivechange del combo deberias poner este codigo
select xbancos
thisform.txtcodigo.value = bcocod
con eso es suficiente porque como el combo esta enlazado al cursor pues al moverte dentro del combo te estas moviendo dentro del cursor, ahora para ubicarte dentro del combo al digitar un codigo pues no estoy tan seguro pero creo que deberia ser asi, en el evento valid del text deberias poner esto :
select xbancos
locate for bcocod=this.value
thisform.combo1.refresh
La verdad no estoy tan seguro pero creo que así te debería funcionar con todo haz la prueba y luego me cuentas, suerte
Bueno amigo te comento que la primera parte me funciono a la perfeccion, sin embargo la segunda me da un error, al introducir el numero y darle enter me dice que hay un error con el tipo de variable y me indica que es en la linea "locate for bcocod=this.value"
Ademas de esto te quería hacer una ultima pregunta adicional, en el formulario tengo un botón "aceptar" que al darle clic me guarda los datos en una tabla, esto lo hace sin problemas sin embargo siempre me sale un mensaje que dice "Cannot access the selected table. SELECT bcodsc, bcocod FROM bancos INTO CURSOR xbancos". Como te digo a pesar del mensaje me registra los datos. Supongo que es porque no libero el cursor pero creí que con la instrucción "CLEAR RESOURCES xbancos" lo haría. Muchas gracias por tu ayuda
Bueno el error que te marca creo que es debido al tipo de datos que tiene el textbox de pronto es carácter y la variable en la tabla es numérico, esto lo verificas haciendo clic con el botón derecho sobre el text y escogiendo la opción generador de ahí dentro de las opciones te sale el tipo de dato que almacena el text y ahí deberías cambiarlo creo que con eso solucionarías ese problema
Bueno amigo a la final logre hacerlo funcionar con este código
a=thisform.text7.Value
xbcocod=VAL(a)
SELECT xbancos
LOCATE FOR bcocod=xbcocod
thisform.combo1.displayvalue=bcodsc
CLEAR RESOURCES xbancos
De verdad muchas gracias, si se te es posible ayudarme con lo ultimo que te comente te estaría muy agradecido
Justamente es por el problema de que el textbox es carácter pero bueno lo importante es que solucionaste el problema. en cuanto al otro error creo que es porque borras el cursor y el combo aun esta enlazado a ese cursor y por eso te sale que el combo no tiene acceso a la tabla seleccionada, para desligar el combo del cursor pon thisform.combo1.recordsource=""
thisform.combo1.refresh
Esto lo harías antes del proceso de grabar, en teoría ahí no te debería mostrar el otro mensaje
No me reconoce la propiedad "recordsource". Me dice "property RECORDSOURCE is not found"
Perdón es la propiedad rowsource

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas