Insertar registros en base access

Necesito saber como sería el código para agregar registros en una base access. Lo que hago es leer un archivo .txt y debo actualizar una base. ¿Me podrías ayudar a resolverlo?
Tengo esto:
Private Sub Form_Load()
Dim Datos As String
Dim Registro As String
Dim NumeroLote As String
Dim Cliente As String
Dim Respuesta as String
Open "d:\Temp\Recibido\Archivo.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, Datos
Registro = Datos
NumeroLote = Mid(Registro, 1, 5)
Cliente = Mid(Registro, 6, 6)
Respuesta = Mid(Registro, 8, 2)
......acá me faltaría el código
Loop
Close #1
End Sub
En Access 2000 es donde tengo la tabla que tiene 4 columnas: id(autonumérico), Lote (numérico), Clte (numérico) y Resp (alfanumérico).

1 respuesta

Respuesta
1
Necesito saber si haces la conexión a la base de datos por medio de un control (data o adodc)
O si lo haces por código
Dim rstGuardar As Recordset
' este seria el recordset
'bd es una variable global que esta conectada a la base de datos Set bd = OpenDatabase(BDpath) 'bdpath es la direccion a la base de datos
Set rstGuardar = bd.OpenRecordset("select * from TABLA; ", dbOpenDynaset)
ESTO DE ARRIBA SE HARIA UNA SOLA
Esto de abajo sería lo que se repite cada vez que tomas desde el archivo de texto un nuevo registro
With rstGuardar
.AddNew
.Fields("lote") = numeroLote
.Fields("Clte") = cliente
.fields("Resp") = respuesta
.Update
End With
Con esto estaría bien...
Si necesitas alguna explicación más no dudes en volver a preguntar...
Si necesitas ayuda para conectar a la base decime como quieres hacerlo. Con que control
Ezequiel: lo hice funcionar. El único cambio fue en dim cnn as adodc.connection, puse adoDB.connection y el resto anduvo ok
Muchas gracias!
(Ahora cierro la pregunta y califico)
Un saludo desde Buenos Aires, Argentina
Hola Ezequiel: No hice la conexión todavía, así que puedo optar por la que vos me recomiendes (data, ado o código). Gracias
Carlos
Ezequiel: estuve probando y anda a las 999 maravillas. El único problema es que no me permite abrir una base access 2000. Lo hice con la misma base convertida a versión anterior. Como debería hacerlo para 2000.
Gracias
Para hacerlo directamente con el data...
A mi tampoco me funciona con access 2000... pero tengo compañeros a los que les funciona sin problemas...
Podrías fijarte en referencias a ver cuales tienes y si tienes alguna version mayor de DAO que la que tienes seleccionada probar con esa..
Sino acá te paso para hacerlo con ADO
Deberías declarar al principio
Para luego usar un adodc. Recordset
Y luego lo usas igual solo le cambias el nombre al recordset
dim cnn as adodc.connection
dim rs as adodc.recordset
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
'
With cnn
.CursorLocation = adUseClient
.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source= " & bdPath & ";"
.Open
End With
with rs
.CursorLocation = adUseClient
.Open "SELECT * FROM tabla", cnn, adOpenDynamic, adLockOptimistic
end with
y luego with rs
. Addnew
. Fields("lakalka")
Etc lo único que debes cambiar es rstguardar por rs
Espero que funcione
Revisa referencias a ver si tienes alguna biblioteca de DAO más nueva que contenga compatibilidad con access 2000
Si no te deja usar el adodc ve a componentes y agrega
Microsoft ado data control

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas