** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Asignar una variable como valor predeterminado
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAsignar una variable como valor predeterminado

 Responder Responder
Autor
Mensaje
javivi73 Ver desplegable
Nuevo
Nuevo


Unido: 08/Noviembre/2012
Estado: Sin conexión
Puntos: 39
Enlace directo a este mensaje Tema: Asignar una variable como valor predeterminado
    Enviado: 18/Marzo/2016 a las 13:41
Buenos dias,
Algo estoy haciendo mal o no se puede hacer...
En un formulario continuo segun escribo un campo del articulo deseo que si presiono una tecla abra el formulario buscar articulos.
Pues bien en el evento antes de actualizar del campo codigo del formulario continuo pongo (tambien lo he intentado en el evento al bajar una tecla):

If IsNull(Me.CODIGO.Value) Then
Dim valorcodigoformulario As String
valorcodigoformulario = Me.CODIGO.Value
End If

Al presionar una tecla abre el otro fomulario y en campo le asigo como valor predeterminado
 =[valorcodigoformulario]

se puede asingar el valor de un campo a un variable en un formulario continuo?
esta mal llamada la variable?

gracias por vuestra colaboracion

Arriba
javivi73 Ver desplegable
Nuevo
Nuevo


Unido: 08/Noviembre/2012
Estado: Sin conexión
Puntos: 39
Enlace directo a este mensaje Enviado: 18/Marzo/2016 a las 14:41
perdon el codigo que dejo en el formulario continuo es...

If KeyCode = vbKeyF12 Then
If Me.CODIGO.Value <> "" Then
Dim valorcodigoformulario As String
valorcodigoformulario = Me.CODIGO.Value
End If
        DoCmd.OpenForm "Productos Presupuesto"
        KeyCode = 0
        Me.Texto68 = valorcodigoformulario

    End If

con un punto de interrupcion veo que coge la variable pero no se la asigna a Texto68, creo que es porque cambia de formulario pero he puesto en valor predeterminado del formulario Productos Presupuesto en el campo Texto 68 =[valorcodigoformulario] y tampoco....

Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: en línea
Puntos: 5176
Enlace directo a este mensaje Enviado: 18/Marzo/2016 a las 15:32
Y para que lo haces con variable y no directo del control Me.Codigo

Si miras en la ayuda al método OpenForm le puedes agregar la condición algo así:

DoCmd.OpenForm "Employees", , ,"LastName = 'King'"

Pero el asistente para botones te puede hacer eso en automático, solo tienes que seguir lo que dice.
Ya que estas en mirar OpenForm dale una checada al parámetro OpenArgs.

Saludos.
Arriba
javivi73 Ver desplegable
Nuevo
Nuevo


Unido: 08/Noviembre/2012
Estado: Sin conexión
Puntos: 39
Enlace directo a este mensaje Enviado: 18/Marzo/2016 a las 16:56
gracias emilove...

con el metodo OpenForm es mas sencillo, lo unico me estoy pegando como siempre con las variables de texto me aparece una ventana. Se trata de un campo de texto...

DoCmd.OpenForm "Productos Presupuesto", , , "[Texto68] = '" & Me.CODIGO & "'"

Texto68 es un cuadro de texto independiente del formulario que abrimos, he puesto un punto de interrupcion y me.codigo le da un  valor pero antes de abrir el formulario me aparece una ventana preguntandome por "introduzca el valor del parametro Texto68" yo creo que no es un tema de comillas y puede ser que se trate de un campo independiente...

gracias
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 19/Marzo/2016 a las 02:56
¿filtrando por un campo independiente? ....

Pues siento la curiosidad de saber como se filtra a un conjunto de datos por un dato que no existe en el conjunto ....

En fin, si lo que se desea es pasar un dato al abrir el formulario, en el único sitio que se puede 'transportar' es en su propiedad 'OpenArgs' , por cierto: un dato y una igualdad se parecen lo mismo que una escoba y un rinoceronte.
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5405
Enlace directo a este mensaje Enviado: 19/Marzo/2016 a las 23:09
Hola buenas noches.

Yo probaría esto:

f KeyCode = vbKeyF12 Then
If Me.CODIGO.Text "" Then
Dim valorcodigoformulario As String
valorcodigoformulario = Me.CODIGO.Text
End If
        DoCmd.OpenForm "Productos Presupuesto"
        KeyCode = 0
        Me.Texto68 = valorcodigoformulario

    End If

Ya nos cuentas.

Saludos
Gracias
Arriba
javivi73 Ver desplegable
Nuevo
Nuevo


Unido: 08/Noviembre/2012
Estado: Sin conexión
Puntos: 39
Enlace directo a este mensaje Enviado: 03/Mayo/2016 a las 17:33
Gracias a Emilio, Eduardo y Vimipas
Perdon por el retraso en responder.. efectivamente el parametro openargs nos transporta datos de un formulario a otro. 
Lo de un campo independiente del formulario final es simplemente un contenga que ejecuta una busqueda en el conjunto.
Vimipas, yo tambien pensaba lo que tu pero tienes que meter el parametro de openargs en DoCmd.OpenForm, , , , , , y asi que puedes trabajar con el dato en el otro formulario.
Gracias por la respuestas.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable