Extraer campo de consulta y copiarlo a una variable

Tengo una tabla con delegaciones y contacto correspondiente.

En un formulario, quiero extraer el contacto de una delegación específica que selecciono con un combobox y copiarla en el campo CONTACTO del mismo formulario. En la opción 'al actualizar' tengo el siguiente código, pero me sale error '3061' Se esperaba 2. Creo que el error esta en el where de la consulta, pero no se como indicarle al where que quiero que se fije en el campo COMBOBOX_DELEGACIÓN para que me saque la consulta que quiero.

Dim SQLContacto As String

Dim rscontacto As Recordset

Dim contactodel As String

Dim Dest As String

Dest = Me.Destino.Value
SQLContacto = "Select CONTACTO.DELEGACION from DELEGACIÓN where Nombre = Dest "
Set miBD = CurrentDb()

Set rscontacto = miBD.OpenRecordset(SQLContacto, dbOpenDynaset)

rscontacto.MoveFirst

contactodel = rscontacto!Contacto

Me.Contacto = contactodel

1 respuesta

Respuesta
1

Prueba con:

SQLContacto = "Select CONTACTO.DELEGACIÓN from DELEGACIÓN where Nombre = '" & Dest & "'"

(Copia y pega la cadena tal cual la he escrito, porque hay comillas simples y dobles que resultan difíciles de ver)

De todos modos, al poner un combo en un formulario, puedes hacer que automáticamente se guarde el valor seleccionado en un campo del registro actual, sin necesidad de código (el propio asistente, el insertar el combo, te pregunta si deseas hacerlo)

No quiero guardar el valor del combobox en un campo. Quiero usar ese valor para realizar una consulta comparativa, y el campo 'Contacto' resultado de esa consulta, guardarlo en un campo del formulario.

Lo que me dices ya lo probé antes. Aún así he copiado como me has dicho, y sigue saliéndome el error 3061 'Se esperaba 1'

Ah, espera, que ahora veo un error en la consulta:

SQLContacto = "Select CONTACTO.DELEGACIÓN from DELEGACIÓN where Nombre = '" & Dest & "'"

Si la tabla DELEGACIÓN tiene un campo DELEGACIÓN y un campo Nombre, usa:

SQLContacto = "Select DELEGACIÓN from DELEGACIÓN where Nombre = '" & Dest & "'"

Uff disculpa, que estoy empanado

Ahora veo que dices que quieres recuperar el campo contacto

Por tanto, interpreto que la tabla DELEGACIÓN tiene el campo CONTACTO y debería ser

SQLContacto = "Select DELEGACIÓN.CONTACTO from DELEGACIÓN where Nombre = '" & Dest & "'"

En lugar de CONTACTO. DELEGACIÓN

O simplemente

SQLContacto = "Select CONTACTO from DELEGACIÓN where Nombre = '" & Dest & "'"

Mientras esperaba tu respuesta conseguí depurar el código yo solo y al final llegué a lo mismo que tú. De todas formas muchas gracias por tu tiempo y ayuda.

PD: Funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas