Caro Tom,
Eu já faço de uma outra forma....
Tenho uma function chamada IncrementaPedido, onde, quando os usuarios solicitarem para incluir um pedido espero eles digitarem todos os dados, qdo solicitarem para gravar checo se esta tudo em ordem mando para a rotina IncrementaPedido, na tabela pedido gravo o nunmero gerado no campo NrPedido e salvo o banco de Dados. Abaixo segue o exemplo do IncrementaPedido :
'MODULO
Public Function IncrementaPedido() As Long
Dim Nro As String
Arq = FreeFile
Close #Arq
Open Diretorio & "PEDIDO.NRO" For Binary As #Arq
Get #Arq, 1, Nro
IncrementaPedido = Val(Nro) + 1
Nro = IncrementaPedido
Put #Arq, 1, Nro
Close #Arq
End Function
'No Private do Pedido quando for gravar
IF INCLUSÃO = TRUE THEN
.rsPedido.Fields("PEDIDO_NRO") = IncrementaPedido
END IF
'ALEM DISSO, COLOCAR NA TABELA NO CAMPO [PEDIDO_NRO] COMO CHAVE 'PRIMARIA E SOLICITAR DUPLICAÇ!ÃO NÃO AUTORIZADA
'DESTA FORMA FICA IMPOSSIVEL DE SER CRIADO PEDIDOS COM O MESMO NUMERO