Yo utilizo este método para agregar nuevos registros a mis combos de
Clientes, Proyectos, etc. Me gusta que el combo siempre aparezca como
lista desplegable para facilitar la búsqueda, le doy al usuario la
posibilidad de agregar un nuevo registro presionando la tecla [Ins], o
eliminar un registro presionando la tecla [Supr].
En en primer caso, para agregar un nuevo registro, en el evento
keypress capturo la llamada, cambio propiedad Style=0, inicializo el
valor del combo, en mi caso Value=0, restablezco el modo de escritura
InsMode(!InsMode()).
Entonces el usuario ahora puede escribir el nuevo registro que quiere
adicionar al combo, cuando presiona [Enter], en el método valid
verifico que .Value esté vacío y que .Text no esté vacío. Si se cumple
guardo el valor de .Text en una variable, cambio la propiedad Style=2,
le pregunto si realmente quiere agregar el registro, si responde que
si, inserto el registro en la tabla correspondiente, le hago
un .Requery al combo, y por ultimo le asigno a la popiedad Value el
valor que previamente habia guardado en la variable. LISTO, en mi
tabla ya está el nuevo registro, el combo lo tiene como uno de sus
elementos y además lo tiene seleccionado.
Si acaso el usuario cuando escribe, digita un valor que ya existe,
entonces el combo toma el valor de la lista, cambio la propiedad
Style=2 y no pasa nada.
En el caso de haber presionado Suprimir o Delete, verifico que este un
elemento seleccionado, !Empty(.Value), hago las verificaciones del
caso para no dejar registros huerfanos en otras tablas, si hay
registros relacionados le mando aviso que no puede borrarlo, de lo
contrario le pido me confirme si quiere borrarlo, si responde si,
elimino el registro de la tabla, le hago un .Requery al combo, y
asunto acabado.
Espero que ahora si me comprendas un poco lo que había dicho en el
mensaje anterior.
Saludos y siempre para servirte.
Fabricio
On 23 oct, 18:10, Juan Rojas C <
jrsist...@gmail.com> wrote:
> He probado, hacer lo que me sugieres Fabricio, pero no me toma el valor, me
> lo regresa en blanco, no se si pudieras darme un pequeño ejemplo
>
> Gracias
>
> JRCORONA
>
> El 23 de octubre de 2010 19:08, Juan Rojas C <
jrsist...@gmail.com> escribió:
>
>
>
>
>
>
>
> > Gracias, por la atencion, pondre en practica lo que me suigieren.
>
> > JRCORONA
>
> > El 22 de octubre de 2010 20:53, Fabricio <
fabricio.sando...@hotmail.com>escribió:
>
> > Hola Juan, para que el combo acepte valores diferentes a los que tiene
> >> en la lista debes poner la propiedad Style=0 que corresponde a cuadro
> >> desplegable, y a nivel de código, en este caso en el método valid,
> >> puedes agregar el registro al cursor.
>
> >> Debes agregar el registro al cursor por que este es el origen del
> >> control, y luego le haces un requery si quieres y le asignas el valor
> >> para actualizarlo.
>
> >> Espero eso sea lo que buscas.
>
> >> --
> >> _______________________________________________________________
> >> Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
> >> FoxPro" de Grupos de Google.
>
> >> Para anular la suscripción a este grupo, envía un mensaje a:
> >>
mundovisualfox...@googlegroups.com<mundovisualfoxpro%2Bunsubscr
i...@googlegroups.com>