Error de sintaxis (operador ausente) en la expresión acceso
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención -
aquí está el cliente buscado: ABBAYE DE L'ETOILE
aquí está el mensaje que tengo:
error de sintaxis (operador ausente) en la expresión: [CT_Num]='00000' AND [EC_Sens]=0 AND [ec_piece]='1111' and [ec_intitule]='Factura N° 1111 / ABBAYE DE L'ETOILE' AND [EC_Lettre]=0 AND [jm_DATE] >=#01/01/001# and [ec_No]<=22222.
¿podría ayudarme?
si hago clic en otros, obtengo el resultado correcto, pero sobre todo en aquellos que hemos registrado con apóstrofes, aparece este error
el macro es:
condición where = [CT_Num]='"&[RefClient]&"'
5 respuestas
-
Hola,
es normal, tu delimitador de cadena es el apóstrofe y en tu nombre tienes un apóstrofe, así que Access no sabe manejarlo, cree que estás buscando Factura N° 1111 / ABBAYE DE L y luego encuentra ETOILE' que no corresponde a ninguna sintaxis que él conozca.
Cambia el delimitador por una comilla: "
A+ blux "Los tontos, se atreven a todo.
Es incluso así como los reconocemos" -
¿Y si solo cambias los ' por " para la condición [ec_intitule]?
Porque desconfío de los datos que parecen ser numéricos pero que vamos a probar como cadenas (tipo [CT_Num]).
Hasta luego blux "Los tontos se atreven a todo.
Es por eso que los reconocemos"-
Sub privado Borrar_Búsqueda_Click()
Me.Rech_RefCliente.Value = ""
Me.Rech_Cliente.Value = ""
Me.Rech_Colaborador.Value = ""
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].Cliente Like '*" & Replace(Me.[Rech_Cliente], "'", "''") & "*'"
End SubSub privado Rech_Cliente_DespuésActualizar()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].Cliente Like '*" & Replace(Me.[Rech_Cliente], "'", "''") & "*'"
End SubSub privado Rech_Cliente_Cambio()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].Cliente Like '*" & Me.[Rech_Cliente] & "*'"
End SubSub privado Rech_Cliente_Entrar()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].Cliente Like '*" & Me.[Rech_Cliente] & "*'"
End SubSub privado Rech_Colaborador_DespuésActualizar()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].CO_Nombre Like '*" & Me.[Rech_Colaborador] & "*'"
End SubSub privado Rech_Colaborador_Cambio()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].CO_Nombre Like '*" & Me.[Rech_Colaborador] & "*'"
End SubSub privado Rech_RefCliente_DespuésActualizar()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].RefCliente Like '*" & Me.[Rech_RefCliente] & "*'"
End SubSub privado Rech_RefCliente_Cambio()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].RefCliente Like '*" & Me.[Rech_RefCliente] & "*'"
End SubSub privado Rech_RefCliente_Entrar()
Formularios![Gestión de Techos]![Control Exceso Cliente].Formulario.RecordSource = "SELECT [Control Exceso Cliente].RefCliente,[Control Exceso Cliente].Cliente,[Control Exceso Cliente].Techo,[Control Exceso Cliente].SaldoTotal,[Control Exceso Cliente].Exceso,[Control Exceso Cliente].SaldoA,[Control Exceso Cliente].SaldoB,[Control Exceso Cliente].CO_Nombre,[Control Exceso Cliente].BL,[Control Exceso Cliente].[Total BL] from [Control Exceso Cliente] where [Control Exceso Cliente].RefCliente Like '*" & Me.[Rech_RefCliente] & "*'"
End Sub
Aquí hay un poco de las otras consultas que rigen la macro. He retomado el trabajo de alguien y me está costando entender lo que ha hecho al final.
hola,
cuando compartas código, gracias por tener en cuenta esto: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
¿Cuál es el vínculo entre la expresión mostrada al principio y el código mostrado en el #4?
Como has modificado el código mostrado al principio, ¿no crees que sería útil mostrar en qué se ha convertido?
-
-
La consulta en error no está en el código que diste...
Hasta luego blux "Los tontos se atreven a todo.
Es incluso por eso que los reconocemos" -
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Embajador 1 588
¿Cómo es que este problema aparece de repente?
¿Modificas el trabajo de alguien sin entender lo que ha hecho?
-
Así que mantengo lo que he dicho, el error que nos muestras no parece estar cubierto por el tratamiento específico de otras solicitudes cuyo código nos diste (la cláusula "replace...").
A+ blux "Los tontos se atreven a todo.
Es incluso por eso que los reconocemos"