Access - Error 3075.

   
Vista:

Error 3075.

Publicado por Rafael Hernandez (1 intervención) el 24/08/2015 17:21:04
Se ha producido el error '3075' en tiempo de ejecución: Error de sintaxis (falta operador) en la expresión de consulta 'Texto descriptivo foto0'

Es el error que me da esta línea de código:

CurrentDb.Execute ("UPDATE datos SET TxtDescrFoto0 = " & Me.TxtDescrFoto0 & _
" WHERE sector = " & Me.sector & " AND fila = " & Me.fila & " AND fosa_nicho = " & Me.fosa_nicho & " AND Nº registro <> " & Numero_registro)


Alguien me puede dar una pista?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error 3075.

Publicado por Enrique Heliodoro (1663 intervenciones) el 24/08/2015 17:58:19
Veamos si asi se soluciona :
.... nicho & " AND Nº registro <> " & ... ===> .... nicho & " AND [Nº registro] <> " & ....

Un espacio en el nombre de un campo, Access no lo interpreta como se desearía por parte del que utiliza 'nombres compuestos', pero si se le encierra entre corchetes ... lo considera un conjunto ¿Por qué se le da un trato diferente al que se le otorga a: Fosa_Nicho, en el cual se simula el espacio con un guion bajo....?

Parto del supuesto de que las variables y/o referentes tiene un valor adecuado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 3075.

Publicado por Rafael Hernandez (4 intervenciones) el 24/08/2015 18:24:12
Nada Enrique, he encerrado el campo 'diferente' entre corchetes y nada... también he sustituido el espacio blanco por un guión bajo, todo con el mismo resultado: negativo.
Las variables que decías creo que están bien declaradas:
Dim Numero_registro As String
Numero_registro = Me.[Nº registro]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 3075.

Publicado por Enrique Heliodoro (1663 intervenciones) el 24/08/2015 20:51:04
Yo acostumbro a considerar 'valor' a un numero si el dato es numérico, a un texto si es String, una fecha cuando es Date (una fecha valida, no vale el 32 de Febrero) y así, una que falte o sea un Null y ....

La forma en que 'entenderás' a Access es poniendo en ese punto uno de interrupción y al pararse en el, escribir la SQL en la ventana de inmediato, algo como:
? "UPDATE datos SET TxtDescrFoto0 = " & Me.TxtDescrFoto0 & _
" WHERE sector = " & Me.sector & " AND fila = " & Me.fila & " AND fosa_nicho = " & Me.fosa_nicho & " AND Nº registro <> " & Numero_registro

Lo que devuelva es lo que se le envía al motor de Access y el no entiende (es el momento de analizar lo devuelto)

Al respecto de los espacios en los nombres (una costumbre que se debería erradicar) los corchetes hacen la función de esconder la basura debajo de la alfombra ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 3075.

Publicado por mxchiguer (65 intervenciones) el 26/08/2015 20:01:44
Nº registro es un valor no valido, cambia este de la tabla por otro sin espacios ejemplo N_registro y listo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 3075.

Publicado por Rafael Hernandez (4 intervenciones) el 27/08/2015 11:56:13
Finalmente conseguí el efecto deseado asociando al evento 'Antes de actualizar' estas líneas de código:

CurrentDb.Execute ("UPDATE datos SET TxtDescrFoto0 = '" & Me.TxtDescrFoto0 & _
"' WHERE sector = '" & Me.sector & "' AND fila = '" & Me.fila & "' AND fosa_nicho = '" & Me.fosa_nicho & "' AND [Nº registro] <> " & Numero_registro)


Gracias a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar