Access - DLookup y condicionales

 
Vista:
sin imagen de perfil

DLookup y condicionales

Publicado por Óscar (7 intervenciones) el 07/11/2016 14:51:42
Buenas tardes,
Estoy intentando usar el comando Dlook para buscar un dato en una tabla y no consigo saber como hacerlo.

he intentado esto:

If Not IsNull(Me.CC_desplazamiento) And Not IsNull(Me.CC_Instalacion) Then
Me.Txt_desplazamiento = DLookup("[Precio]", "[Lugares de juego]", "[Instalacion] = " & [Me.CC_Instalacion])
End If

En mi formulario hay dos Cuadros Combinados: [CC_desplazamiento] y [CC_Instalacion] y un cuadro de texto independiente [txt_desplazamiento]

Tengo una tabla [Lugares de juego] con dos campos: [Instalacion] [Precio]

Lo que no consigo hacer es:

- cuando el [CC_desplazamiento] tenga el valor ''NO'' me coloque automáticamente un ''0'' en el [txt_instalacion] de mi formulario

- cuando el [CC_desplazamiento] tenga el valor ''SI'' busque el valor de [instalación] en la tabla [Lugares de juego] que será igual al [CC_Instalacion] y me coloque automáticamente el [Precio] en el [txt_desplazamiento]


Espero haberme explicado correctamente, soy nuevo en Access y un follon enorme de conceptos.

Muchísimas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

DLookup y condicionales

Publicado por Jesús Manuel (375 intervenciones) el 08/11/2016 09:16:50
CC_Instalacion es un número?

Salta algún error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

DLookup y condicionales

Publicado por Óscar (7 intervenciones) el 08/11/2016 09:29:38
No es un número (es un dato con formato 'texto corto' y es clave de la tabla [Lugares de juego], y SÍ, salta un error.:

"Se ha producido el error '2465' en tiempo de ejecución:
Partidos designados no encuentra el campo '|1' al que se hace referencia en la expresión"

Muchas gracias, espero que me puedas ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

DLookup y condicionales

Publicado por Jesús Manuel (375 intervenciones) el 08/11/2016 09:57:44
El problema es que has construido el DlookUp como si el criterio fuese un número, al tratarse de un texto tendrías que cambiarlo por:

Me.Txt_desplazamiento = DLookup("[Precio]", "[Lugares de juego]", "[Instalacion] = '" & [Me.CC_Instalacion] & “'”)

Ejemplos prácticos para número, texto o fecha: https://support.microsoft.com/es-es/kb/136460


En cuanto a lo que no consigues hacer, es solo plantear otro If dentro del anterior, siempre que CC_desplazamiento solo pueda tener como valores SI o NO (en caso de tener más valores habría que incluir más condicionantes o cambiar el IF por un SELECT):

If Not IsNull(Me.CC_desplazamiento) And Not IsNull(Me.CC_Instalacion) Then
If me.CC_desplazamiento="NO" then
me.txtdesplazamiento=0
else
Me.Txt_desplazamiento = DLookup("[Precio]", "[Lugares de juego]", "[Instalacion] = " & [Me.CC_Instalacion])
end if
End If

En tu planteamiento no haces referencia a [txt_instalacion], que si nombras en lo que no puedes conseguir. Entiendo que se trata de un error y que este campo es en realidad txt_desplazamiento.

Revisa los nombres de los campos por si me he equivocado al escribir alguno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar