continuacion consulta tabla dbf

12/03/2005 - 19:39 por fredy | Informe spam
hola Manuel y KL
primero agradecerles por la atencion a cada una de mis preguntas, ya la
consulta funciona perfecto... tengo una nueva pregunta la voy a exponer con
cuadros:

tengo la colsulta inicial ( con la que he molestado tanto) ahi tengo dos
campos que son "Pla_matr" y "pla_nfac" resulta que tengo por ejemplo un
registro con pla_matr 0370 y Pla_nfac‰, tengo una tabla "adiciona" que
para estos datos tiene los siguientes registros
matr nfac cod val
030370 89 63 4500
030370 89 56 6400
030370 89 45 89200...
.. en algunos casos tiene hasta 15 registros para cada matr y nfact (en
este caso 3)
como puedo hacer para que mediante una consulta como la que he estado
haciendo pueda llegar a algo como esto
matr nfac cod1 cod2 cod3 val1 val2 val3
30370 89 63 56 45 4500 6400 89200

es decir los registros (hasta 15 por cada pla_matr y nfac) que tengo en la
tabla "adiciona" en forma vertical , pasarlos a la consulta de forma
horizontal

es posible hacerlo de una forma rapida

porque lo que yo hice demora mucho tiempo y es hacer la consulta en
"adiciona" por matr y nfac, una a una, luego copiar los resultados y con
pegado especial transponerlos ( pero demora demasiado p.e 8500 registros en
12horas) (Pentium IV 2.8 ram 512 disco 80)

Preguntas similare

Leer las respuestas

#1 KL
12/03/2005 - 20:07 | Informe spam
Fredy,

Podrias volver a poner el codigo final de la consulta con todas las
modificaciones q le has hecho, para no tener q reconstruirlo dl hilo
anterior?

Saludos,
KL

"fredy" wrote in message
news:
hola Manuel y KL
primero agradecerles por la atencion a cada una de mis preguntas, ya la
consulta funciona perfecto... tengo una nueva pregunta la voy a exponer
con
cuadros:

tengo la colsulta inicial ( con la que he molestado tanto) ahi tengo dos
campos que son "Pla_matr" y "pla_nfac" resulta que tengo por ejemplo un
registro con pla_matr 0370 y Pla_nfac‰, tengo una tabla "adiciona"
que
para estos datos tiene los siguientes registros
matr nfac cod val
030370 89 63 4500
030370 89 56 6400
030370 89 45 89200...
.. en algunos casos tiene hasta 15 registros para cada matr y nfact (en
este caso 3)
como puedo hacer para que mediante una consulta como la que he estado
haciendo pueda llegar a algo como esto
matr nfac cod1 cod2 cod3 val1 val2 val3
30370 89 63 56 45 4500 6400 89200

es decir los registros (hasta 15 por cada pla_matr y nfac) que tengo en la
tabla "adiciona" en forma vertical , pasarlos a la consulta de forma
horizontal

es posible hacerlo de una forma rapida

porque lo que yo hice demora mucho tiempo y es hacer la consulta en
"adiciona" por matr y nfac, una a una, luego copiar los resultados y con
pegado especial transponerlos ( pero demora demasiado p.e 8500 registros
en
12horas) (Pentium IV 2.8 ram 512 disco 80)

Respuesta Responder a este mensaje
#2 fredy
14/03/2005 - 14:37 | Informe spam
Gracias KL este es el codigo ( que pena no haberlo puesto antes.. era fin de
semana )

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Sub segundaopcion()
Application.ScreenUpdating = False
Sheets("HOJA2").Range("A1") = "inicio " & Now()
cn.Open "Driver={Microsoft dBASE Driver
(*.dbf)};DriverID'7;Dbq=C:\borreme\bases;"

For i = 1 To 1
'mes = Sheets("HOJA2").Cells(i, 2)
mes = "20041002"
Application.StatusBar = "CONSULTA " & i & " DE 12 MES " &
MATRICULA

Sheets("HOJA1").Select
rs.Open "SELECT planilla.PLA_MATR, planilla.PLA_CICL, planilla.PLA_NFAC,
planilla.PLA_CATE, planilla.PLA_VLAG, planilla.PLA_VLAL, planilla.PLA_VLMA,
planilla.PLA_TOTA, planilla.PLA_INAG, planilla.PLA_INAL, planilla.PLA_CNS1,
planilla.PLA_COD1, planilla.PLA_TOTANT, planilla.PLA_BAAG, planilla.PLA_COAG,
planilla.PLA_SUAG, planilla.PLA_CFAL, planilla.PLA_BAAL, planilla.PLA_COAL,
planilla.PLA_SUAL, puntcons.USR_ESTR, puntcons.USR_RUTA, puntcons.USR_SECT,
puntcons.USR_EPUN, puntcons.USR_CIUD" & Chr(13) & "" & Chr(10) & "FROM
planilla planilla, puntcons puntcons" & Chr(13) & "" & Chr(10) & "WHERE
planilla.PLA_MATR = puntcons.PLA_MATR AND ((planilla.PLA_TARI='" & mes &
"'))", cn, adlockoptimistic, adcmdtext

Dim iCols
For iCols = 0 To rs.Fields.Count - 1
Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
Next
Range(Cells(1, 1), Cells(1, rs.Fields.Count)).Font.Bold = True
Range("A2").CopyFromRecordset rs
Sheets("HOJA2").Range("A2") = "fin " & Now()
rs.Close

cn.Close
Next i
End Sub

muchas gracias!

"KL" escribió:

Fredy,

Podrias volver a poner el codigo final de la consulta con todas las
modificaciones q le has hecho, para no tener q reconstruirlo dl hilo
anterior?

Saludos,
KL

"fredy" wrote in message
news:
> hola Manuel y KL
> primero agradecerles por la atencion a cada una de mis preguntas, ya la
> consulta funciona perfecto... tengo una nueva pregunta la voy a exponer
> con
> cuadros:
>
> tengo la colsulta inicial ( con la que he molestado tanto) ahi tengo dos
> campos que son "Pla_matr" y "pla_nfac" resulta que tengo por ejemplo un
> registro con pla_matr 0370 y Pla_nfac‰, tengo una tabla "adiciona"
> que
> para estos datos tiene los siguientes registros
> matr nfac cod val
> 030370 89 63 4500
> 030370 89 56 6400
> 030370 89 45 89200...
> .. en algunos casos tiene hasta 15 registros para cada matr y nfact (en
> este caso 3)
> como puedo hacer para que mediante una consulta como la que he estado
> haciendo pueda llegar a algo como esto
> matr nfac cod1 cod2 cod3 val1 val2 val3
> 30370 89 63 56 45 4500 6400 89200
>
> es decir los registros (hasta 15 por cada pla_matr y nfac) que tengo en la
> tabla "adiciona" en forma vertical , pasarlos a la consulta de forma
> horizontal
>
> es posible hacerlo de una forma rapida
>
> porque lo que yo hice demora mucho tiempo y es hacer la consulta en
> "adiciona" por matr y nfac, una a una, luego copiar los resultados y con
> pegado especial transponerlos ( pero demora demasiado p.e 8500 registros
> en
> 12horas) (Pentium IV 2.8 ram 512 disco 80)
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida