Duda en función Dsum respecto al filtrado en la suma

Pretendo lo siguiente: desde un formulario añadir un cuadro de texto llamado "X" que me sume una cantidad de horas de una consulta si uno de los campos tiene el nombre horas y lo que sea. He intentado el siguiente código pero no me pone nada. Si pongo 'HORAS EXTRAS' O 'HORAS NORMALES', si me da el total, pero yo pretendía que filtrara todo. Desde la consulta ya sé que puedo hacer ese tipo de filtrado (Como "*" & "horas" & "*"), pero me preguntaba si desde aquí sería posible.

Me.X = DSum("NOMBRECAMPO", "NOMBRECONSULTA", "[NOMBREOTROCAMPODELACONSULTA]='HORAS'&'*'")

2 respuestas

Respuesta
1

Pruebe con esto

Me.x = DSum("NOMBRECAMPO", "NOMBRECONSULTA", "[NOMBREOTROCAMPODELACONSULTA] Like '*" & Me.campohoras & "*'")

En donde campohoras es el nombre del campo donde pone la palabra HORAS

¡Gracias! Me funcionó así:

Me.X = DSum("NombreCampo", "NombreConsulta", "[NombreOtroCampoDeLaConsulta] Like '*' & 'horas' & '*'")
Respuesta

Si se utiliza la igualdad no se puede poner una condición ambigua (la comparación requiere que ambos términos sean del mismo tipo esto es: comparables).

En lugar de (=) en la consulta posiblemente se este aplicando 'Like' (Como, que contenga ... ).

Pero lo correcto ya que se supone que se conoce lo que se busca es utilizar un 'O' (OR) para indicarle que el valor a localizar es uno u otro y si se desea sumar cualquier registro (todos los registros) ¿Para qué se necesita la condición?

Me.X = DSum("NOMBRECAMPO", "NOMBRECONSULTA", "[NOMBREOTROCAMPODELACONSULTA]='HORAS Extras' OR [NOMBREOTROCAMPODELACONSULTA]='HORAS normales'")
'Alternativa para todos:
Me.X = DSum("NOMBRECAMPO", "NOMBRECONSULTA")

¡Gracias! En NOMBREOTROCAMPODELACONSULTA son varios tipos de horas, pero también hay otros conceptos que no son horas. Por ejemplo horas extras, horas normales, horas festivas, etc., pero también tengo el concepto otros por ejemplo y esas unidades de otros no las quería sumar. Más que nada es por curiosidad ya que desde una consulta lo hago sin problema, pero era también para no tener tantas consultas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas