Problema con Botón en subformulario access

Tengo un formulario-A con un botón que funciona perfectamente cuando se ejecuta directamente como formulario (el formulario se llama crear_linea_pedido). Y el botón tiene el siguiente código:
Private Sub test_Click()
DoCmd.RunSQL "UPDATE Necesidad SET Necesidad.Solicitado = True " & vbCrLf & _
"WHERE (((Necesidad.Id)=[Formularios]![crear_linea_pedido]![Id_necesidad]));"
End Sub

Snm embargo, cuando ese formulario se incorpora como subformulario deja de funcionar. Aparece el siguiente error:
Introduzca el valor del parámetro Formularios!crear_linea_pedido!Id_necesidad

Seguro que es una tontería, pero no logro dar con la solución. SOY NOVATO...

1 respuesta

Respuesta
1

el problema está en que al colocarlo como subformulario, la referencia al control deja de ser correcta, pues no existe el formulario "[Formularios]![crear_linea_pedido]", sino un subformulario dentro de un formulario al que tendrías que hacer referencia.

Creo que cambiando la sintaxis de la SQL para que haga referencia al control del formulario activo, lo resuelves:

Private Sub test_Click()
DoCmd.RunSQL "UPDATE Necesidad SET Necesidad.Solicitado = True " & vbCrLf & _
"WHERE (((Necesidad.Id)=" & Me.Id_necesidad & "));"
End Sub

Esto si id_necesidad es un dato de tipo numérico. Si fuera de texto, tendías que ponerlo entre comillas simples:

"WHERE (((Necesidad.Id)='" & Me.Id_necesidad & "'));"

Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas