esta função funciona mas o campo tem que ser numerico para ficar ordenado de forma crescente
Function FindBlank()
Dim mx As Integer
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rsVal As String
Set cn = New ADODB.Connection
With cn
' especifica o provedor Jet
.Provider = "Microsoft.Jet.OLEDB.4.0"
' Leitura/gravaçao
.Mode = adModeReadWrite
.CursorLocation = adUseClient
.ConnectionString = "data source=c: empd1.mdb ;Jet OLEDB:Database Password= " & Senha
.Open
End With
Set rs = New ADODB.Recordset
rs.ActiveConnection = cn
rs.Open "Select * from tabela1 order by tabela1.idtxt"
rs.MoveMin
mx = 1
' Loop to make sure you have the maximum number.
Do While Not rs.EOF
rsVal = rs.Fields("IDtxt").Value
If rsVal > mx Then
Exit Do
End If
rs.MoveNext
mx = mx + 1
Loop
FindBlank = mx
rs.Close
cn.Close
Set rs = Nothing
Set db = Nothing
End Function