hola grupo tengo la siguiente situacion:
estoy haciendo una consulta a dos bases de datos obteniendo los resultados
esperados ( gracias a Manuel y KL) estos datos estan en la hoja "C_pla_pun"
lo siguiente que quiero hacer es otra consulta para cada uno de los registros
de la hoja "C_pla_pun", pero esta vez transponiendo los datos es decir los
datos que obtengo de otra consulta y que pongo en la hoja "C_adiciona"( no
mas de 10 registros)pegarlos a cada registro de la hoja "C_pla_pun",
actualmente lo estoy haciendo con el siguiente codigo ( pero es super lento)
Sub datos_adiciona()
Application.ScreenUpdating = False
Application.EnableEvents = False
cn.Open "Driver={Microsoft dBASE Driver
(*.dbf)};DriverID'7;Dbq=C:\BORREME\2;"
Sheets("C_ADICIONA").Select
For i = 2 To 8000
MATRICULA = Sheets("c_pla_pun").Cells(i, 1)
FACTURA = Sheets("c_pla_pun").Cells(i, 3)
rs.Open "select adiciona.ADI_MATR,
adiciona.ADI_NFAC,adiciona.ADI_CODI,adiciona.ADI_VALO" & Chr(13) & "" &
Chr(10) & "FROM adiciona adiciona" & Chr(13) & "" & Chr(10) &
"WHERE(adiciona.ADI_MATR='" & MATRICULA & "') AND (adiciona.ADI_NFAC=" &
FACTURA & ")", cn, adlockoptimistic, adcmdtext
Range("A1").CopyFromRecordset rs
Sheets("c_adiCiona").Range("C1:C10).Copy
Sheets("c_pla_pun").Cells(i, 26).PasteSpecial Paste:=xlValues, Transpose:=True
Sheets("c_adiCiona").Range("D1:D10).Copy
Sheets("c_pla_pun").Cells(i, 36).PasteSpecial Paste:=xlValues, Transpose:=True
Sheets("c_adiCiona").Cells.Clear
rs.Close
Next i
cn.Close
End Sub
existe alguna forma de agilizar este proceso
es posible algo como copyfromrecordset ( pero transponerlo) los campos que
necesito de la tabla "adiciona" son adiciona.ADI_CODI adiciona.ADI_VALO, por
cada matricula y factura, la tabla adiciona puede devolver hasta 15 registros
estos son los que necesito transponer en la hoja "C_pla_pun", para la
matricula seleccionada
muchas gracias por su ayuda :B
Leer las respuestas