Dcount en VBA para un criterio que tiene dos valores

Estoy utilizando la función Dcount en VBA para contar los registros en una tabla que cumplen dos criterios, y uno de ellos, tiene dos valores. Así:

DCount("[Titulo]", "[TLibros]", "[EsSerie]=" & "True" & " And " & "[Estado]=" & 4 Or 2)

De esta manera que escribo, está mal porque me da error.

DCount("[Titulo]", "[TLibros]", "[EsSerie]=" & "True" & " And " & "[Estado]=" & 4 & " Or " & "[Estado]=" & 2)

Y de esta manera, me da un valor que no es el que busco.

Como veis, EsSerie es un campo True/False, y Estado un valor numérico. Lo que quiero es que sea serie y o el estado sea 4 o sea 2.

¿Cómo podría lograrlo?

2 Respuestas

Respuesta
2

DCount("[Titulo]", "[TLibros]", "[EsSerie]=-1 And [Estado]=4 Or [Estado]=2")

Cómo os gusta complicaros poniendo comillas y & cuando no son necesarios...

Perdón, que le di a enviar antes de tiempo:

DCount("[Titulo]", "[TLibros]", "[EsSerie]=-1 And ([Estado]=4 Or [Estado]=2)")

Respuesta
1

La respuesta que le dan es correcta, no obstante ¿Qué sucedería si fueran más estados, necesitaría incluir más [Estado]=X OR …….?. En este caso le sirve la siguiente instrucción:

DCount("[Titulo]", "[TLibros]", "[EsSerie]=-1 And ([Estado] IN(2,4))")

Por ejemplo si los Estado fueran 2,4,7,9,10,12. La expresión quedaría asi:

DCount("[Titulo]", "[TLibros]", "[EsSerie]=-1 And ([Estado] IN(2,4,7,9,10,12))").

Esto lo complicaría menos.

La pregunta no admite más respuestas

Más respuestas relacionadas