Extraer el DNI en consulta Access

Nuevamente me surgió un inconveniente que en ocasiones son menos dígitos ejemplo:

15812443-8 y 5812443-8

Ósea una lectura con 10 dígitos en total incluyendo el guion y la otra con solo 9 dígitos incluyendo el guion.

Como debería cambiar la función que me has brindado para que funcione

Usted ya me había contestado esta pregunta con esta respuesta

Public Function extDNI(strTexto As String) As String
  Dim pos_guion As Integer
  pos_guion = InStr(1, strTexto, "-")
  extDNI = Mid(Mid(strTexto, pos_guion - 8), 1, 10)
End Function

1 respuesta

Respuesta
1

Pruebe con esta:

Public Function extDNI(strTexto As String) As String
  Dim pos_guion As Integer
  Dim aux As String
  pos_guion = InStr(1, strTexto, "-")
  aux = mID(mID(strTexto, pos_guion - 8), 1, 10)
  If Not IsNumeric(Left(aux, 1)) Then
    extDNI = mID(mID(strTexto, pos_guion - 7), 1, 9)
  Else
    extDNI = aux
  End If
End Function

Me marca error en tiempo de ejecución "Argumento o llamada procedimiento no valida "el campo donde esta esta información es tipo texto

adjunto una captura

Raro la probé y no de arroja error, observe:

¿
? ExtDNI("OKDkkkdkaaapijdrx890xxuuu12345679-8kkkldkdk")
12345679-8
? ExtDNI("OKDkkkdkaaapijdrx890xxuuu1234567-8kkkldkdk")
1234567-8

¿Cómo llama la función? ¿Y desde donde la llama?

bueno se ingresan los datos en un formulario al campo DNI y obtengo el resultado en la consulta con la cual obtengo la información que deseo.

La función solo acepta se le pase una cadena de texto, en caso contrario daría el error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas