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!!!
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


0