BUSCAR MAIOR ID NO BANCO ACCESS

GILBERTOJW 17/01/2013 10:31:29
#417607
Minha coluna ID chama-se num.
Uso o código abaixo para identificar o num máximo, mas o problema é quando ainda não existe nenhum ítem já lançado. Neste caso me retorna o erro : [Ô]Conversion from type DBNULL to type string is not valid[Ô]
Como devo resolver isso ?
conect.Open()
Dim selcom As New OleDb.OleDbCommand
selcom.CommandText = [Ô]SELECT max(num) FROM [produtos];[Ô]
selcom.Connection = conect
Dim dr As OleDb.OleDbDataReader
dr = selcom.ExecuteReader()
While dr.Read()
intNum = dr.Item(0)
End While
conect.Close()

Agradeço e aguardo caso alguém possa ajudar.
IRENKO 17/01/2013 10:52:47
#417609
On Error GoTo errHandle

Bom, em VB faço assim:

GerarCodigo:
mSql = [Ô]SELECT MAX(Id) AS Maior FROM Tabela;[Ô]
RdsID.Open mSql, Conexao, 3
N_ID = 1
If Not RdsID.BOF Then N_ID = IIf(IsNull(RdsID([Ô]Maior[Ô])), 1, RdsID([Ô]Maior[Ô]) + 1)

RdsID.Close
Set RdsID = Nothing
Exit Sub

errHandle:
If Err = -2147467259 Then GoTo GerarCodigo
MsgBox Err.Description & vbCr & [Ô]Número do erro: [Ô] & Err.Number
KERPLUNK 17/01/2013 10:53:57
#417610
Resposta escolhida

if (!dr.HasRows) Then intNum = 0

While dr.Read()

intNum = dr.Item(0)
End While
Tópico encerrado , respostas não são mais permitidas