Access - Select Case y Dlookup

 
Vista:
sin imagen de perfil

Select Case y Dlookup

Publicado por Óscar (7 intervenciones) el 03/11/2016 15:16:48
Buenos días,
Tengo una BD con 2 tablas [competiciones] y [partidos]
La tabla de competiciones tiene 4 campos [competicion] [precio1] [precio2] [precio3]

Para insertar los datos en la BD tengo un formulario en el que puedo elegir con un cuadro combinado la competición [CC_competicion] y con otro cuadro combinado el tipo de precio [CC_precio]

Me gustaría que al elegir un dato en cada cuadro combinado me buscase en la tabla [competiciones] un dato y me lo insertase directamente en un [txt_independiente] del formulario.

Por ejemplo:
Tabla [competiciones]

[competicion] [precio1] [precio2] [precio3]

primera división 10€ 20€ 30€
segunda división 5€ 10€ 20€


En mi formulario selecciono el [CC_competicion] = primera división y el [CC_precio] = precio 3

quisiera en el [txt_independiente] del formulario después de seleccionar los otros datos apareciese automáticamente 30€.

Muchas gracias por vuestra ayuda.

He intentado con Select Case y con dLookup pero no he conseguido nada.

Un saludo
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

Select Case y Dlookup

Publicado por Jesús Manuel (375 intervenciones) el 04/11/2016 09:41:16
Hay que partir de la base de que si el campo se llama precio1 en cc_precio no puedes poner precio 1 (con espacio) porque al usar las funciones tendrás error. Para evitar tener que poner líneas de código para solucionar esto, es mejor tender cc_precio con el nombre exacto de los campos en la tabla competiciones.

Una vez dicho esto:

Con VBA, en el evento después de actualizar de los cuadros combinados:

1
2
3
If Not IsNull(Me.CC_Competicion) And Not IsNull(Me.CC_precio) Then
Me.txt_independiente = DLookup("[" & Me.CC_precio & "]", "[competiciones]", "[competicion] = '" & Me.CC_Competicion & "'")
End If


En el propio cuadro de texto, en Propiedades/Datos/Origen del control:

1
=SiInm(EsNulo([CC_Competicion]) O EsNulo([CC_precio]);"";DBúsq("[" & [CC_precio] & "]";"[competiciones]";"[competicion] = '" & [CC_Competicion] & "'"))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Select Case y Dlookup

Publicado por Óscar (7 intervenciones) el 04/11/2016 14:11:51
Muchisimas gracias, funciona perféctamentee. Un saludo
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