Access - Añadir filas

 
Vista:

Añadir filas

Publicado por deboh (24 intervenciones) el 19/04/2007 09:47:48
Hola buenos días , Veréis mi problema es que tengo que insertar unas filas de una tabla que estan en una mdb , a otra tabla (igual) de otra mdb y lo tengo que hacer con recordsets.
El código que yo tengo para ello , agrega en el registro "X" el valor del campo1, y con un bucle for así hasta rellenar todos los campos de la fila.El problema es que hay campos que requieren ser rellenados antes que otros....por lo que esto no me sirve. Como el código debe ser general para todas lastrablas no puedo especificar campos. Entonces lo que necesitaría es añadir la fila entera a tocateja....de golpe. Este es mi código ( el cual no me sirve):

intDim= Ubound(strSubSis)'Dimensión array con los valores para filtrar datos
cn.open="Provider=Microsoft.JEt.OLEDB.4.0;Data Source= " + strPath

For each obj in CurrentData.AllTables
with rsActual 'recordset de la tabla en la mdbactual
.ActiveConnection = CurrentProject.Connection
.Source = strSql 'strSql está bien hecha
.Open
End With
appCopia.OpenCurrentDatabase strPath 'Abrimos la otra mdb donde meter los datos
for i = 0 to intDim
with rsOtra
.ActiveConnection = cn
.Source = TablaOtra.Name
.CursorType = AdoOpenDynamic
.LockType = adoLockOptimistic
.Open
end with
if rsActual.Eof then
rsActual.Movefirst
end if
while not rsActual.eof
if instr(rsActual.Fields(strCampo).Value,strSubSis(i))then
for z = 0 to rsActual.fields.Count
'****Esta línea es donde quiero que añada la fila entera****
rsOtra.AddNew rsActual.Fields(z).Name , rsActual.Fields(z).Value
next
end if
rsActual.MoveNext
wend
rsActual.Close
rsCopia.Close
next
next

GRACIAS CHIC@S!!!
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:Añadir filas

Publicado por Cristian Vasquez (47 intervenciones) el 19/04/2007 20:08:33
Viejo sinceramente cre que te estas comlicando mas de lo que deberias todo loq quieres hacer se puede realizar solo con una consulta SQL y la Corres con el metodo RunSQl delObjeto Docmd o bien con un command de ADO.

la SQl seria mas o menos asI:

1. Si las dos tablas son EXACTAMENTE iguales:

INSERT INTO TablaDestino IN "C:/ ruta.mdb" SELECT * FROM TablaOrigen

2. Si necesitas especificar los campos:

INSERT INTO TablaDestino (Campo1, Campo2) IN "C:/ ruta.mdb" SELECT Campo1, Campo2 FROM TablaOrigen
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:Añadir filas

Publicado por deboh (24 intervenciones) el 20/04/2007 09:20:01
Si así lo he tenía hecho en un principio(y funciona)..el caso es que de esa manera access me avisa de cuantas filas va a indexar y no quiero que lo haga. Para ello tendría que deshabilitar los warnings, cosa que no se debe hacer porque si existe algún error de pegado no lo veré....por lo que lo estoy haciendo con Recordset porque así no pide confirmación y no tengo que deshabilitar nada....De todas maneras gracias por la recomendación. Y si se te ocurre algo , todavía sigo con la duda...un saludo y de nuevo 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