Puedes hacerlo de muchas formas. Lo que no me queda claro es si quieres que desde un formulario te añada un campo Idcliente numérico a la tabla(aunque ya tenga registros), o si teniendo un campo Idcliente en la tabla, que trabaje como un autonumérico pero sin serlo. Por ejemplo, en la tabla Copia el campo IdCliente es numérico. Luego en el formulario
En este caso, en el evento Al activar registro del formulario le digo
Private Sub Form_Current()
If Me.NewRecord Then
IdCliente = Nz(DLast("idcliente", "copia")) + 1
End If
OtroId = Convertir([IdCliente])
End Sub
Es decir, que si es un registro nuevo, el valor de Idcliente sea igual al del valor anterior más uno. Se lo digo así, por si te desplazaras por los registros, como no son "nuevos" no te modifica el valor que ya tienen.
Es más podrías suprimir el campo Idcliente, que te quedaría así,
poniendo el evento anterior como
Private Sub Form_Current()
If Me.NewRecord Then
Dim i As Long
i = Nz(DCount("*", "copia")) + 1
OtroId = Convertir("" & i & "")
End If
End Sub
En este caso, te "cuenta" los registros que hay y su valor lo transforma en texto. El inconveniente de este sistema es que supongamos que la tabla tiene 20 registros. Si eliminas uno cualquiera, cuando "vuelva a contar" se encontraría con que ahora hay 19 registros, por tanto te "repetiría" el OtroId como 20. Por eso es conveniente usar un campo numérico.
De todas formas, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando dos o tres ejemplos.
Si lo haces, en el asunto del mensaje pon tu alias Alfredo Sanz, ya que si no sé quien me escribe ni los abro. Y ahora me voy a jugar con el jersey que me han traído los reyes.