Bases de datos con ADO

PIEDRA
29 de Marzo del 2003
Objetivo de proyecto: Actualizar el campo "C1" de la base de datos "base001.mdb" con los números del 1 al 200.000.

Resultado: No funciona correctamente. Introduce los números que le da la gana.

Código del proyecto:

Option Explicit
Dim i As Double
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset


Private Sub Form_Load()
cn.Mode = adModeReadWrite
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:base001.mdb"
cn.Open
rs.LockType = adLockOptimistic
rs.Open "Tabla", cn
End Sub

Private Sub Command1_Click()
rs.AddNew
rs.MoveFirst
For i = 1 To 200000
rs.Fields("C1") = i
rs.Fields("C2") = i
rs.AddNew
rs.MoveNext
Next i
End Sub

Gracias.


jose
29 de Marzo del 2003
No pongas el movefirst, ya que al hacer addnew se va a un registro de la base de datos nuevo, en blanco y espera a que lo rellenes con datos . lo acepta como tal al ejecutar update.
seria:
Private Sub Command1_Click()
For i = 1 To 200000
rs.AddNew 'creas un registro nuevo,blanco
rs.Fields("C1") = i 'lo rellenas
rs.Fields("C2") = i
rs.update 'lo aceptas y guardas en
'la base de datos
Next i
End Sub