Guardar un valor de una consulta SQL en un campo de una tabla

Tengo dos tablas. Una que se llama Itinerario donde tiene un campo que se llama ciu_destino, cuando selecciono esta ciudad, necesito traer las tarifas que tengo acordadas para esta ciudad, los valores de las tarifas los tengo en una tabla que se llama Tarifas_nacionales (Ciudad, Tipo_tarifa, Valor_tarifa)

Private Sub Val_aloj()

Dim CIU_ALOJ As String

Dim TIP_ALOJ As String
Dim VAL_ALOJ As Integer
Dim RST As Recordset
Dim MISQL As String
CIU_ALOJ = Me.CIU_DESTINO
TIP_ALOJ = ALOJAMIENTO
MISQL = "SELECT VALOR_TARIFA FROM TARIFAS_NACIONALES WHERE CIUDAD= " & CIU_ALOJ And TIPO_TARIFA = " & TIP_ALOJ"
Set RST = CurrentDb.OpenRecordset(MISQL, dbOpenDynaset)
VAL_ALOJ = RST("VALOR_TARIFA")
RST.Close
Me.ALOJAMIENTO = VAL_ALOJ
End Sub

Se esta presentando el error en la parte de MISQL y al depurarlo lo presenta en el Set RST.

1 Respuesta

Respuesta
2

El error lo tienes en la SQL:

MISQL= "SELECT VALOR_TARIFA FROM TARIFAS_NACIONALES WHERE CIUDAD= '" & CIU_ALOJ & "' AND TIPO_TARIFA = " & TIP_ALOJ

Las comillas simples las has de poner "encerrando los valores de texto, como ciu_aloj, en tu caso. Además has de tener cuidado en encadenas la parte "fija" de la SQL con las que dependen de los valores de tu formulario.

A ver si así te funciona.

Se presenta el siguiente error

Error3464

No coinciden los tipos de datos en la expresión de criterios

Ciudad, Tipo_tarifa, Valor_tarifa (Texto, Texto, Calculado)

Ciu_destino, Alojamiento (texto, número)

Umm, vale, tipo tarifa es de texto y no numérico. Prueba así, si no tendré que ver tu archivo, porque no doy con el error...

MISQL= "SELECT VALOR_TARIFA FROM TARIFAS_NACIONALES WHERE CIUDAD='" & CIU_ALOJ & "' AND TIPO_TARIFA ='" & TIP_ALOJ & "'"

Ahora me dice que no encuentra registros de la consulta.. voy a seguir mirando a ver que puedo encontrarle

Pues al código no le veo nada raro. Si quieres que le pegue un vistazo a tu BD, envíamela comprimida a [email protected].

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas