modificar el código VBA para asegurar que el formulario está abierto.
DoCmd.OpenForm "NameOfForm"
Eso debería evitar el error # 2450.
Después, no es necesario para almacenar el valor de [NameOfTextbox] a una variable, a continuación, utilizar esa variable para construir la instrucción SQL. Puedes usar su valor directamente.
sqlquery = "SELECT * FROM YourTable " & _
"WHERE some_field = '" & Forms![NameOfForm]![NameOfTextbox] & "';"
o incrustar una referencia al cuadro de texto en sí (en lugar del valor del cuadro de texto) en la consulta.
sqlquery = "SELECT * FROM YourTable " & _
"WHERE some_field = Forms![NameOfForm]![NameOfTextbox];"
que supone some_field es un campo de tipo de datos de texto, por lo cerrado del valor de texto con comillas simples en el primer ejemplo de consulta. Observe que el segundo ejemplo no necesita las comillas porque hace referencia al cuadro de texto por nombre en lugar de su valor.
Sin embargo, si continúa con su enfoque original (almacenando el valor del cuadro de texto en una variable), no nombre el valor "variable" porque el valor puede confundirse con una propiedad de muchos objetos.
Es la forma abierta cuando intenta esto? – Fionnuala