No coinciden los tipos de datos en la expresión de criterios en consulta Access

Anteriormente otros expertos me habían ayudado, pero ahora la consulta del Access que estoy trabajando se me esta presentando el mensaje: "no coinciden los tipos de datos en la expresión de criterios" al momento que intento realizar un filtro a dicha consulta.

Estructura de la tabla:

Función del experto Eduardo Pérez Fernández:

Option Compare Database
Option Explicit
Public f_corte As Date
Public Function estado_real(dfecha_cita As Date, strEstado As String, lnCodServicio As Integer) As String
 ' Utiliza la variable publica f_corte, correspondiente a la fecha de corte
 ' del formulario frm_Menu
    If (strEstado = "Cancelada" Or _
    strEstado = "Presente" Or _
    strEstado = "Ausente" Or _
    strEstado = "Reprogramada" Or _
    strEstado = "RESUELTO") And _
    (lnCodServicio = 998 Or _
    lnCodServicio = 999 Or _
    lnCodServicio = 0) Then
       estado_real = "Resuelto"
    ElseIf dfecha_cita <= f_corte And _
    strEstado = "Otorgada" And lnCodServicio = 998 Then
      estado_real = "Resuelto"
    ElseIf lnCodServicio = 999 And _
        strEstado = "Cancelada" Then
       estado_real = "Resuelto"
    Else
      estado_real = "Pendiente"
    End If
End Function

Consulta:

Al ejecutar la consulta sucede lo siguiente:

El error solo me lo muestra cuando intento filtrar lo "Pendiente" y no entiendo porque sucede eso, ya que en la tabla el campo DSC_ESTADO_CITA es texto y en la función es un String como esta declarado.

Intente haciendo la tabla nuevamente, exporte la tabla a excel, le di formato a los campos y los cargue a la tabla nuevamente y nada ha funcionado.

1 Respuesta

Respuesta
1

Muy raro no me arroja error, tengo esta consulta:

Obtengo este resultado:

Si quiere envíeme el archivo de Excel o el de Access si no está vinculado a SQL Server. Lo reviso en detalle y le cuento

No olvide que mi email es [email protected] anote el asunto su pregunta.

¡Gracias! No entiendo porque da ese mensaje y se borran los datos de la consulta.                           Ya le envié el archivo.

Muchas Gracias

El problema está en que el campo cod_servicio_especialidad tiene registros sin valor, tiene 2 opciones: (Hay más de 2000 registro con valor NULL en este campo)

1- Crear una consulta de actualización sobre este campo con criterio Is Null y actualizar a cero (0)

2- Modificar la consulta cambiar ESTADO REAL por:

ESTADO_REAL: estado_real([FEC_CITA];[DSC_ESTADO_CITA];Nz([COD_SERVICIO_ESPECIALIDAD];0))

Observe que agregué NZ a cod_servicio_especialidad

Lo probé y funciona

¡Gracias! Te lo agradezco, jamás iba a pensar que ese era el problema.

Tengo días buscando el problema y nada, ya podre continuar con el resto.

Saludos,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas