Autonumérico en base de datos

Quiero hacer un autonumérico por código VB, que recorra una base de datos y comience a realizar el autonumérico y que siempre comience en 00000001 (debe ser en este formato),
llevo esto, pero me genera error, ¿qué tengo allí malo o de que forma se puede sinplificar esto?
Dim Rs As Recordset
Dim SQL As String
Dim Auto As String
Auto = "00000001"
SQL = "SELECT * FROM _LiquiNoveUNICILINDROS"
Set Rs = CurrentDb.OpenRecordset(SQL)
Rs.MoveFirst
Do While Not Rs.EOF
    MsgBox Rs.Fields(0)
    Rs.Fields(0) = Auto
    Auto = Auto + "00000001"
    Rs.MoveNext  
Loop
1

1 Respuesta

27.450 pts. Microsoft Office
No me queda muy clara tu petición, deseas que sólo se recorra una BD, es decir, ¿sin guardar nada? Lo que yo supongo que quieres hacer es recorrer una tabla, generar una clave consecutiva y almacenar esa clave en la tabla que recorres [o en otra]. Dame por favor más datos para así darte una mejor respuesta.
Analicemos el código que me presentas:
Dim Rs As Recordset 
'declaras una variable tipo RecordSet
Dim SQL As String
'declaras una variable tipo texto
Dim Auto As String
'declaras otra variable tipo texto
Auto = "00000001"
'asignas un valor
SQL = "SELECT * FROM _LiquiNoveUNICILINDROS"
'asignas una sentencia SQL válida
Set Rs = CurrentDb.OpenRecordset(SQL)
'ejecutas la sentencia SQL, correcto
Rs.MoveFirst
'te posicionas en el primer registro
Do While Not Rs.EOF
'creas un ciclo para recorrer el RecordSet
    MsgBox Rs.Fields(0)
'envias un mensaje que muestra el nombre del campo [muy raro e inusual, si encuentras 20 registros, enviarás 20 mensajes con el mismo texto (el nombre del campo)]
    Rs.Fields(0) = Auto
'asignas el valor de "Auto" al nombre de campo del RecordSet [¡error! es imposible hacerlo, ya que el recordset es de sólo lectura en tiempo de ejecución, en todo caso, la sentencia quedaría al revés]
    Auto = Auto + "00000001"
'incrementas "Auto"
    Rs.MoveNext 'te posicionas en el siguiente registro
Loop
Garcías por aclaración del código me ayudo para llegar a la solución quedó así:
Mucgas Gracias!
Dim Rs As Recordset
Dim SQL As String
Dim Auto As String
Auto = "00000001"
SQL = "SELECT * FROM _LiquiNoveNICOL"
Set Rs = CurrentDb.OpenRecordset(SQL)
Rs.MoveFirst
Do While Not Rs.EOF
    Rs.Edit
    Rs.Fields(0).Value = Format(Auto, "00000000")
    Auto = Auto + 1
    Rs.Update
    Rs.MoveNext
Loop
<div>
</div>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas