Foros del Web » Soporte técnico » Ofimática »

access - Abrir formulario pasando parametro

Estas en el tema de access - Abrir formulario pasando parametro en el foro de Ofimática en Foros del Web. Pues esa es la pregunta: ¿Como hago para abrir un formulario y pasarle un parametro? Ejemplo Formulario1 'Estamos dentro del Formulario1 y tenemos una variable ...
  #1 (permalink)  
Antiguo 18/06/2009, 14:24
vbm
 
Fecha de Ingreso: junio-2009
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
access - Abrir formulario pasando parametro

Pues esa es la pregunta:

¿Como hago para abrir un formulario y pasarle un parametro?

Ejemplo

Formulario1

'Estamos dentro del Formulario1 y tenemos una variable que es del tipo fecha/hora que se llama Fecha

DoCmd.OpenForm("Formulario2") 'aqui quiero pasarle la variable Fecha

Formulario2

'Estamos dentro del Formulario2 y quiero tener utilizar la variable Fecha

'Fin

Muchas gracias.
  #2 (permalink)  
Antiguo 19/06/2009, 01:08
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: access - Abrir formulario pasando parametro

Imaginemos que tenemos un formulario de productos, donde desemos abrir el formulario segun el codigo de producto que esta en un combo donde tienen los productos (Nombres y codigos) del actual formulario:

Imaginemos que el combo de productos se llama CmbProductos, el formulario de productos se llama PRODUCTOS..entonces:

MiCriterio = "COD_PRO=" & CmbProductos & ""
DoCmd.OpenForm stDocName, , , MiCriterio

Ojo como se cree que es numerico, va con esta sintaxis:

=" & CmbProductos & "

Si fuer texto seria:

='" & CmbProductos & "'"

Si fuera fecha seria:

=#" & Format(CmbProductos,"MM/dd/yyyy") & "#"

Aqui en fechsa toca formatear porque las consultas trabajan este formato (Mes/Dia/Año)
  #3 (permalink)  
Antiguo 19/06/2009, 04:49
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: access - Abrir formulario pasando parametro

Uno d elos parametros del metodo openform es OpenArgs, asi le pasas una variable que se guarad en la propiedad OpenArg del form abierto.

Es decir, lo abres asi:

DoCmd.OpenForm "NOmbreForm", , , , , , "HOLA"

Y en el evento load del form que abres, pones:

msgbox me.Openargs

Y te saldra un mensaje con "hola"

Otra opcion es usar variables declaras como publicas a nivel de modulo, ya que son vivibles desde cualquier parte de la palicacion

un saludo
  #4 (permalink)  
Antiguo 19/06/2009, 13:15
vbm
 
Fecha de Ingreso: junio-2009
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: access - Abrir formulario pasando parametro

Vale muchas gracias por las respuestas, voy a ver si me aclaro. Si tengo algun problema os lo digo.

1 saludo!!
  #5 (permalink)  
Antiguo 19/06/2009, 18:04
vbm
 
Fecha de Ingreso: junio-2009
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: access - Abrir formulario pasando parametro

Veamos:

La respuesta de Remon no la he entendido mucho, luego he intentado el metodo de Taribo007. Os explico: yo tengo un cuatro de texto del tipo fecha (dentro del formulario1) que se llama Fecha. Tengo tambien un boton que lo que hace es abrir el formulario2. El formulario2 lo abro con DoCmd.openForm "formulario2". Si pongo DoCmd.openForm "formulario2",,,,,,Fecha y luego en formulario2 hago msgbox me.OpenArgs me da el sigiente error: 'uso invalido de null'. Lo que a mi me interesa es poder meter en un cuadro de texto del formulario2 la Fecha que le paso desde el formulario1, por eso no se si lo que estoy haciendo es lo correcto.

Muchas gracias por la ayuda
  #6 (permalink)  
Antiguo 22/06/2009, 00:51
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: access - Abrir formulario pasando parametro

LO estas haciendo bien, pero fecha es una palabra reservada de acces y en segun que sitio puede darte problemas. prueba asi:

DoCmd.openForm "formulario2",,,,,,me.Fecha

Y si sigue dando problemas, cambia el nombre dle cuadro de texto por Txtfecha, y luego:

DoCmd.openForm "formulario2",,,,,,me.TxtFecha

Un saludo
  #7 (permalink)  
Antiguo 22/06/2009, 13:30
vbm
 
Fecha de Ingreso: junio-2009
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: access - Abrir formulario pasando parametro

Nada. Me sigue dando el error "uso no valido de null". No se que puede estar pasando y lo hago exactamente como tu me dices. Si puedes decirme otra alternativa te lo agradeceria muchisimo, sino pues te agradezco toda la atencion prestada.

1 saludo!
  #8 (permalink)  
Antiguo 23/06/2009, 01:06
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: access - Abrir formulario pasando parametro

Dos cositas. Primero, que version de access utilizas. y segundo, pon exactamente el codigo que utilizas. Cuando te sale el error??

Otras alternativas: en el from load del formulario2

me.CuadroDeTextoDelFormulario2=forms("Formulario1" ).controls("CuadroDeTextoelFormulario1")

Para esto, al abrir el form 2, el form1 ha de estar abiert.

Otra opcion, declara una variable publica en un modulo nuevo:

Public VarFecha as date

Antes de abrir el formulario2:

VarFecha=me.CuadroDeTextoelFormulario1

Y en el form load del formulario1:

me.CuadroDeTextoDelFormulario2=varFecha

un saludo
  #9 (permalink)  
Antiguo 23/06/2009, 07:54
vbm
 
Fecha de Ingreso: junio-2009
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: access - Abrir formulario pasando parametro

Arreglado! Uso el 2007. He optado por por declararme una funcion publica a la cual le llamo desde el formulario2 y me devuelve la fecha. De todas formas probaré lo que me has dicho.

Muchas gracias!

un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:29.