Visual Basic - Inserción masiva

Life is soft - evento anual de software empresarial
 
Vista:

Inserción masiva

Publicado por Killtro (17 intervenciones) el 29/08/2003 02:44:52
Hola a todos los que lean, ¿como puedo traspasar los datos de un recordset creado con ado a una tabla en access que tienen la misma estructura sin ocupar addnew?, digamos usando algo asi como getrows
Gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Inserción masiva

Publicado por Adolfo Vanegas (105 intervenciones) el 29/08/2003 05:20:23
Utilizando una consulta de insercion, pero antes de esto debes determinar si la tabla receptora de los datos es igual en estructura que la tabla fuente, si es asi puedes utilizar la siguiene consulta:

Insert into [TablaDestino] select * from [TablaFuente]

o si solo quieres mover algunos campos de la tabla fuente puede ser asi:

Insert into [TablaDestino] Select campo1, campo2, campo3 from [TablaFuente]

Espero te sierva este ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inserción masiva

Publicado por Killtro (17 intervenciones) el 29/08/2003 17:01:03
Adolfo, primero que todo gracias por tu atención, el ejemplo que me señalas es lo que busco, sin embargo omiti un dato re-importante, los recordsets son de distintas bases de datos, de hecho uno es generado desde una planilla excel y otro desde access 97, en ese caso ¿Como logro la sintaxis? algo asi como
insert into [libro1].tabla
select * from [bd1].tabla

Si puedes enviarme unas lineas de ejemplo te lo agradecería mucho.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inserción masiva

Publicado por Esteban (1144 intervenciones) el 31/08/2003 09:52:56
Bueno, en ese caso es totalmente necesario hacer eso?

Porque mediante un ciclo, hacer addnew's y al final un updatebatch no es menos caro que un insert into ... select pero es bastante rápido.

Al final a donde vas a descargar los datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Inserción masiva

Publicado por Killtro (17 intervenciones) el 01/09/2003 17:05:00
los datos serán descargados en una base de datos access 97, investigando descubri la sintaxis para hacer una inserción directa desde excel a access usando codigo, ahi les va al que le interese

ADOAccessConexion.Execute "SELECT * INTO Tabla FROM " & "[Hoja1$]" & " IN ''" & "[Excel 8.0; DATABASE=C::\PlanillaExcel\Libro1.XLS]"

Usando esta sintaxis se logra importar mediante ADO (o DAO), una planilla excel a una tabla en access, ahora bien, la tabla es creada por el motor de datos por lo tanto si la tabla existiese no serviría y debería usarse UPDATE y validar los tipos de datos para cada registro.
Me funcionó bastante bien y tu idea del updatebatch es muy buena, practicaré con ambas para ver el mejor rendimiento y les cuento...
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar