
17/08/2008, 10:35
|
| | Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 17 años Puntos: 0 | |
Actualizacion de registros importados de excell Hola otra vez.
Tengo el siguiente codigo para la importacion desde excell a acces. La pega lo tengo en que cada vez que los cargo a la bd se producen datos duplicados y me salta un error. Lo que quisiera es que en vez de dar ese error, los datos los vuelva a cargar del excel por si ha habido algun cambio.
El proveedor me envia el listado completo de articulos en excell, pero siempre hay actualizaciones o bien en el nombre o en el precio.
los campos de la bd son:
codigo indice de la bd sin duplicados
nombre nombre
pvp pvp del articulo
El campo codigo es invariable y no repetible los demas campos puedo recibirlos modificados, aunque con el mismo codigo. Os pongo la parte del codigo que realiza la carga completa de todos los datos, pero al hacerlo dos veces se crean duplicados y da el error que os comento ante. Creo que hay que modificar algo en el sql, o bien en el rst_Ado.AddNew, para que antes de meterlo en la bd busque o actualice en vez de intentar crear el registro de nuevo.
Saludos y gracias
'Nuevo objeto recordset
Set rst_Ado = New ADODB.Recordset
'Abre el recordset
rst_Ado.Open "Select * FROM " & La_Tabla, _
cn_Ado, adOpenStatic, adLockPessimistic
'Se posiciona al final If rst_Ado.RecordCount <> 0 Then rst_Ado.MoveLast
' Recorre las filas y columnas de la hoja
For Fila_Actual = 1 To Filas
'Nuevo registro
rst_Ado.AddNew
For Columna_Actual = 0 To Columnas - 1
' Va leyendo los datos de la celda indicada
Dato = Trim$(Obj_Hoja.Cells(Fila_Actual, Columna_Actual + 1))
'Agrega los datos al campo indicado
rst_Ado(Columna_Actual).Value = Dato
Next
Next |