Abrir un formulario desde una lista

Tengo una lista incrustada en un formulario y quería que al hacer un doble click sobre el registro seleccionado, me abra otro formulario con el registro seleccionado.
¿Dónde pongo el valor? ¿Cómo funciona EstablecerValores? ¿Serviría poniendo en la consulta del formulario2 "Formulario1!Lista.Columna(0)?

1 respuesta

Respuesta
2
Bueno para eso debes irte al evento Doble Click, de la lista, y lego al generador de código, pero primero debes saber cual es la llave o campo por la que se que es un registro único, es decir si el cuadro de lista me muestra Clientes, y voy abrir el form Clientes debo saber cual es llave por ejemplo CodCli(código del cliente) y por supuesto debe estar en la lista, y hay que saber que tipo de datos es (Numérico, texto, o fecha)... porque la siguiente linea de código se debe modificar según estos criterios... entonces, imaginemos que estamos en el evento doble click de la lista, entonces estas linea de código te servirá:
**************************
strL = "Codcli = " & Lista.Value & ""´
DoCmd.OpenForm "frmPersonal", acNormal, , strL
***************************
Bueno aquí strL, es la variable que servirá de filtro, osea el que me dirá cual cliente abriré, aquí imaginamos que la llave es codcli, y se igualara al valor de la lista (que llame lista)...
Aquí imaginamos que la llave codcli es numérica, por eso se iguala de esta manera A LA LISTA:´
" & Lista.Value & "
Comilla doble, espacio, Ampersand (&), espacio, Objeto o Variable, Espacio, Ampersand, espacio, Comillas Dobles.
SI FUERA TEXTO el campo seria:
'" & Lista.Value & "'
Comilla Sencilla, comilla Doble, espacio, Ampersand, Espacio, Objeto o variable, Espacio, Ampersand, espacio, Comilla Doble, CVomilla sencilla.
SI ES UNA FECHA, se complica un poquitín, ya que se debe formatear, porque siempre se debe trabajar con el formato Mes/Dia/Año, pero Acccess se predetermina Dia/Mes/Año...
#" & Format(Lista,"MM/dd/yyyy") & "#
CSharp(#), comilla Doble, espacio, Ampersand, Espacio, Objeto o variable Formateado de la manera Mes/Dia/Año,Espacio, Ampersand, espacio, Comilla Doble, CSharp.
La función format me sirve para que la variable o control que de con el formato Mes/Dia/Año
LUEGO DE TODO ESTO, viene el comando OPenForm de Docmd, que ews el que me sirve para abrir el formulario, y la cuarta parte de este comando es el filtro... por eso hay un espacio y luego la variable, que servirá para filtrar el formulario.
Me avisas como te fue... sino tranquilo te sigo ayudando
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas