¿Como buscar un número de 9 cifras introduciendo menos números?

En una tabla existe un campo denominado PRVEREF, número de 8 cifras, compuesto por tres dígitos del proveedor y cinco para la referencia.

Intento que introduciendo al introducir xxx, xx compruebe si existe, hice la comprobación que describo pero cuando el ultimo digito introducido es cero falla (150,150) porque actúa como (150,15).

Dim BCAR As String, MPOS As Integer, LTEX As Integer, NCTA
        BCAR = ","
        MPOS = InStr(1, Cuenta, BCAR, vbTextCompare)
        LTEX = Len(Cuenta)

        Select Case MPOS
            Case 0 To 1
                If LTEX = 8 Then
                    NCTA = Cuenta
                Else
                    If LTEX > 0 Then
                        NCTA = (Left(Cuenta, LTEX) * (1 & String(8 - LTEX, "0")))
                    Else
                        NCTA = 0
                    End If
                End If
            Case 2 To 8
                NCTA = (Left(Cuenta, MPOS - 1) * (1 & String(8 - MPOS + 1, "0"))) + Right(Cuenta, LTEX - MPOS)
        End Select
'----Comprobar que existe -------------------------------------------
'If (Eval("DLookUp(""[CTACONT]"",""[CUENTAGV]"",""[CTACONT] = Form.[CUENTA] "") Is Null")) Then
        Dim FILTRO As String, TCTA
        FILTRO = "CTACONT=" & NCTA
        TCTA = DLookup("CTACONT", "CUENTAGV", FILTRO)
        If IsNull(TCTA) Then
            Beep
            MsgBox "La CUENTA introducida NO existe."
            DoCmd.CancelEvent
            Cuenta.Undo
        End If
    End If
End If

No puedo cambiar el campo de número a texto porque es una base heredada y tiene enlace con otras tablas y otras bases.

2 respuestas

Respuesta
2

http://nksvaccessolutions.com/Foro/Hola!

Sin ver exactamente todos los elementos no acabo de ver cuál es el problema, salvo que la parte de búsqueda parece, a simple vista, un poco enrevesada.

Ahí tienes un ejemplo simplificado, a ver si puedes sacar algo en claro: http://www.mediafire.com/download/a7bsp8adkk7hf2k/JoseICameo.BuscarCuenta.zip

Respuesta
2

José Ignacio: Supongo que ésta pregunta ha sido sustituida por la siguiente, que aunque tengo dudas que te comentaré, parece más clara.

Creo que hay una opción de anlar preguntas, pero ignoro como hacerlo. Si tu la localizas, quizá es mejor borrar ésta, que se presta un poco a confusión con lo del 9 y lo del 8. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas