Evitar que se me duplique un Código en la BD, que Consulta SQL debería hacer?

Tengo una Columna llamada CODIGOINVF, donde a través de un código que hice, me generas números aleatorios, pero a veces se me repiten; para que ese numero aleatorio Tomo Código de país, Estado, Letra y un Random. Este es el codigo:

Public Sub CodigoIVNFCrear()
Dim rst As ADODB.Recordset
Dim isql As String
Dim Cadena As String
Dim Letra As String
Dim varNombre As String
Dim VarTipo As String
Dim ID As String
Dim varEstado As String
Dim CodigoP As String
Dim CodigoIVNF As String
Dim varPais As String
Dim Nale1 As String
Dim Nale As String
Dim Nin As Integer
Dim Nfi As Integer
Dim codigoModi As Integer
Set rst = New ADODB.Recordset
isql = "SELECT CODIGO,NOMBRE,PAIS,ESTADO FROM PROVEEDORES WHERE CODIGO = '" & txtCodigo & "'"
rst.Open isql, cnnConexion
If rst.EOF = False Then
    While Not rst.EOF
        varNombre = rst!Nombre
        'VarTipo = rst!Tipo
        'ID = rst!idProveedor
        CodigoP = rst!codigo
        Nin = 100
        Nfi = 999
        Nale = Round(((Nfi * Rnd) - (Nin * Rnd)) * Rnd)
          Nale1 = Trim(str(Nale))
        varEstado = CodEstado(rst!Estado)
        Letra = LetraNombre(Left(varNombre, 1))
        varPais = CodPais(rst!PAIS)
        CodigoIVNF = varPais + varEstado + Letra + Nale1
        txtCodigoINVF.Text = CodigoIVNF
         If varEstado <> "" Then
           isql = "UPDATE PROVEEDORES SET CODIGOIVNF= '" & CodigoIVNF & "' WHERE CODIGO = '" & txtCodigo.Text & "'"
            cnnConexion.Execute isql
             txtCodigoINVF.Text = CodigoIVNF
       ' lblCodigoINVF = CodigoIVNF
       End If
    rst.MoveNext
    Wend
  End If
End Sub

No se como hacer para cuando haga una consulta, me verifique en la BD que no esta repetida y si esta repetida, no me guarde

Añade tu respuesta

Haz clic para o