Como contar registros que cumplen dos condiciones

Estoy en un formulario con origen de control en una tabla llamada "filtros". El caso es que quiero que en un cuadro de texto de dicho formulario me aparezca el total de registros de otra tabla, llamada "Alumnado_datos" que cumplan dos condiciones: que el campo "Estado" sea igual a "En estudio" y el campo "Curso escolar" (tipo texto corto) igual a una función llamada c_escolar() que calcula el curso escolar actual. Tengo el siguiente código pero me dice que no coinciden los tipos:

Dim nestado As Long

nestado = DCount("NIE_datos", "alumnado_datos", "estado='En estudio'" And "curso_escolar='c_escolar()'")

MsgBox nestado

1 respuesta

Respuesta
1

Tienes mal el encadenado de los dos criterios, el AND tiene que ir dentro de las comillas :

nestado = DCount("NIE_datos", "alumnado_datos", "estado='En estudio' And  curso_escolar='c_escolar()'")

Antes de nada, muchas gracias por responder tan rápido. He metido el código que me dices y a nivel de sintaxis no da problemas. Pero la cuenta que me hace sale siempre "0". He utilizado dos tipos de contaje:

nestado = DCount("NIE_datos", "alumnado_datos", "estado='En estudio' And curso_escolar='c_escolar()'")

nestado = DCount("NIE_datos", "alumnado_datos", "estado='En estudio' And centro='Me.filtro_centro'")

Creo que todo el problema radica en la función c_escolar() y en el nombre del centro porque cuando le digo, por ejemplo, lo siguiente

nestado = DCount("NIE_datos", "alumnado_datos", "curso_escolar='c_escolar()'")

nestado = DCount("NIE_datos", "alumnado_datos", "centro='Me.filtro_centro'")

...el resultado sigue siendo "0"

Tanto la variable curso_escolar como centro son de tipo texto:

c_escolar() es una función que me debuelve la fecha como "2016/17"

"filtro_centro" es un campo de la tabla que está en el formulario principal (Esa tabla se llama filtro_formularios)

Agradezco cualquier sugerencia porque estoy perdido...

Vaya, no me fijé que usabas una función para sacar el valor del segundo criterio... me quedé en el error del "AND".

Hazlo así:

nestado = DCount("NIE_datos", "alumnado_datos", "estado='En estudio' And curso_escolar='" & c_escolar() & "'")

Como regla general, lo que es valor "fijo" (por ejemplo el valor "en estudio", el operador "AND") va dentro de las comillas dobles y lo que es variable (por ejemplo la función) va fuera de ellas encadenado con &.

Un saludo


http://nksvaccessolutions.com/Foro/index.php 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas