consultar tablas dbf

08/03/2005 - 17:57 por fredy | Informe spam
hola grupo...
mi necesidad es la siguiente:

tengo una tabla dbf (FUENTE)que proviene de foxpro con mas de 900.000
registros
tengo una tabla de excel la cual tengo que completar con datos de la tabla
dbf (FUENTE) la llave entre estas tablas es un numero de identificacion de
usuario y un numero de factura, los datos que tengo que extraer de (FUENTE)
para cada usuario pueden ser de cero hasta 10 datos, como puedo hacer la
consulta de FUENTE desde excel para extraer los datos de cada usuario???( mi
duda se debe a que latabla FUENTE no me la abre excel por la cantidad de
registros)

muchas gracias por su colaboracion

Preguntas similare

Leer las respuestas

#16 KL
12/03/2005 - 00:06 | Informe spam
ws es el nombre de la variable de la hoja.

KL

"fredy" wrote in message
news:
Manuel que significa ws? sera por esto que me sale el error de requiere un
objeto?
muchas gracias

"Manuel Romero" escribió:

Tomado de la ayuda de ExcelFor iCols = 0 to rs.Fields.Count - 1
ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
Next
ws.Range(ws.Cells(1, 1), ws.Cells(1, rs.Fields.Count)).Font.Bold = True
ws.Range("A2").CopyFromRecordset rsTe coloca en A1 los nombres de los
campos
y los pone en negrita. A partir de A2 van los resultados

"fredy" escribió en el mensaje
news:
> Manuel y como hago esto
> "prueba el metodo copyfromrecordset del objeto range. este metodo
> elimina
> el bucle do"
>
> Function CopyFromRecordset()
>
> no se como implementarlo para reeemplazar
>
> Do Until rs.EOF
> Sheets("HOJA1").Range("a" & cnt) = rs("adi_matr")
> Sheets("HOJA1").Range("b" & cnt) = rs("adi_nfac")
> Sheets("HOJA1").Range("c" & cnt) = rs("adi_codi")
> Sheets("HOJA1").Range("d" & cnt) = rs("adi_valo")
> rs.MoveNext
>
> cnt = cnt + 1
> Loop
>
> muchas gracias
> "Manuel Romero" wrote:
>
> > 1) coloca el application.screenupdating=false y regresalo a true
> > cuando
el
> > proceso termine
> >
> > 2) prueba el metodo copyfromrecordset del objeto range. este metodo
elimina
> > el bucle do
> >
> > las dos opciones no son excluyentes, intenta con ambas
> >
> > "fredy" escribió en el mensaje
> > news:
> > > si eso era muchas gracias Manuel : )
> > > es posible que este proceso sea mas rapido que el de la primera
> > > opcion
que
> > > me enviaste??
> > >
> > > "Manuel Romero" wrote:
> > >
> > > > Se me olvido (siempre me pasa, no se porque)
> > > >
> > > > rs.movenext
> > > >
> > > > antes del cnt=cnt+1
> > > >
> > > > "fredy" escribió en el mensaje
> > > > news:
> > > > > Hola Manuel
> > > > >
> > > > > estoy utilizando el codigo que me recomendaste ( aunque el
anterior me
> > > > > funciono el de datos externos lo adapte en una macro y me
> > > > > genero
los
> > > > > resultados que esperaba solo que se demoro casi 12 hrs para
extraer
> > los
> > > > datos
> > > > > de 9000 registros de la fuente de 900000 registros pero
bueno...ahora
> > > > busco
> > > > > tal vez un poco de rapidez en el proceso)
> > > > >
> > > > > PRIMERA SUGERENCIA DE MANUEL
> > > > >
> > > > > MATRICULA = Sheets("HOJA2").Cells(i, 2)
> > > > > FACTURA = Sheets("HOJA2").Cells(i, 4)
> > > > > Application.StatusBar = "CONSULTA " & i & " DE 8577
MATRICULA
> > " &
> > > > > MATRICULA & " FACTURA " & FACTURA
> > > > >
> > > > > With Sheets("HOJA1").QueryTables.Add(Connection:= _
> > > > > "ODBC;DSN=dBASE
> > > > >
> > > >
> >
Files;DefaultDir=C:\BORREME\2;DriverIdS3;MaxBufferSize 48;PageTimeout=5;
> > > > "
> > > > > _
> > > > > , Destination:=Sheets("HOJA1").Range("A1"))
> > > > > .CommandText = Array( _
> > > > > "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 & ")" _
> > > > > )
> > > > >
> > > > > .Name = "Consulta desde dBASE Files_13"
> > > > > .FieldNames = True
> > > > > .RowNumbers = False
> > > > > .FillAdjacentFormulas = False
> > > > > .PreserveFormatting = True
> > > > > .RefreshOnFileOpen = False
> > > > > .BackgroundQuery = True
> > > > > .RefreshStyle = xlInsertDeleteCells
> > > > > .SavePassword = True
> > > > > .SaveData = True
> > > > > .AdjustColumnWidth = True
> > > > > .RefreshPeriod = 0
> > > > > .PreserveColumnInfo = True
> > > > >
> > > > > .Refresh BackgroundQuery:=False
> > > > > End With
> > > > >
> > > > > RESULTADO
> > > > > ADI_MATR ADI_NFAC ADI_CODI ADI_VALO
> > > > > 117095 4 56 3000
> > > > > 117095 4 27 10408
> > > > > 117095 4 39 291
> > > > > 117095 4 28 0
> > > > > 117095 4 40 0
> > > > > 117095 4 61 3086
> > > > > 117095 4 63 -3
> > > > >
> > > > > en la nueva sugerencia me extrae datos lo que pasa es que se
> > > > > queda
en
> > el
> > > > loop
> > > > >
> > > > > tengo:
> > > > >
> > > > > MATRICULA = Sheets("HOJA2").Cells(i, 2)
> > > > > FACTURA = Sheets("HOJA2").Cells(i, 4)
> > > > >
> > > > > cn.Open "Driver={Microsoft dBASE Driver
> > > > > (*.dbf)};DriverID'7;Dbq=C:\BORREME\2;"
> > > > > 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
> > > > > cnt = 1
> > > > > Do Until rs.EOF
> > > > > ActiveSheet.Range("a" & cnt) = rs("adi_matr")
> > > > > ActiveSheet.Range("b" & cnt) = rs("adi_nfac")
> > > > > ActiveSheet.Range("c" & cnt) = rs("adi_nfac")
> > > > > ActiveSheet.Range("d" & cnt) = rs("adi_codi")
> > > > > ActiveSheet.Range("e" & cnt) = rs("adi_valo")
> > > > > cnt = cnt + 1
> > > > > Loop
> > > > >
> > > > > Next i
> > > > >
> > > > > rs.Close
> > > > > cn.Close
> > > > >
> > > > > RESULTADO
> > > > > pero me extrae solo un registro
> > > > >
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > .
> > ..
> > > > >
> > > > > PORQUE PUEDE ESTAR SUCEDIENDO?
> > > > >
> > > > > Gracias!!
> > > > >
> > > > > "Manuel Romero" escribió:
> > > > >
> > > > > > Puedes usar ADO, activa una referencia a MS ActiveX Data
> > > > > > Objects
2.X
> > > > primero
> > > > > > y escribe unas sentencias asi
> > > > > >
> > > > > > dim cn as new adodb.connection
> > > > > > dim rs as new adodb.recordset
> > > > > >
> > > > > > cn.open "cadena de conexion"
> > > > > > rs.open "select * from tutabla where campo=valor", cn,
> > adlockoptimistic,
> > > > > > adcmdtext
> > > > > > cnt=1
> > > > > > do until rs.eof
> > > > > > activesheet.range("a" & cnt)=rs("campo1")
> > > > > > activesheet.range("b" & cnt)=rs("campo2")
> > > > > > cnt=cnt+1
> > > > > > loop
> > > > > > rs.close
> > > > > > cn.close
> > > > > >
> > > > > > la cadenas de conexion para tablas DBF la puedes encontrar en
> > > > > > www.connectionstrings.com
> > > > > >
> > > > > > el ejemplo es muy (demasiado) sencillo, pero te puedes dar
> > > > > > una
idea
> > de
> > > > como
> > > > > > es
> > > > > >
> > > > > > "fredy" escribió en el
> > > > > > mensaje
> > > > > > news:
> > > > > > > listo Manuel ya pude realizar la consulta muchas gracias;
> > sinembargo
> > > > me
> > > > > > > gustaria saber si es posible recorrer la tabla DBF ( mas de
> > 900000¡
> > > > > > > registros)desde excel con una macro sin tener que realizar
este
> > > > proceso de
> > > > > > > consulta
> > > > > > >
> > > > > > > gracias! : )
> > > > > > >
> > > > > > > "fredy" wrote:
> > > > > > >
> > > > > > > > gracias manuel, pero resulta "imposible leer este
> > > > > > > > archivo"
otra
> > > > > > sugerencia
> > > > > > > > por favor, me gustaria manejarlo por macros alguna idea?
> > > > > > > >
> > > > > > > > "Manuel Romero" wrote:
> > > > > > > >
> > > > > > > > > Menu Datos / Obtener datos externos / Nueva consulta de
base
> > de
> > > > datos
> > > > > > > > >
> > > > > > > > > crea el origen de datos y sigue el asistente, ahi
> > > > > > > > > puedes
usar
> > > > > > criterios de
> > > > > > > > > seleccion e inclusive definir el orden de los registros
> > > > > > > > > a
> > traer
> > > > > > > > >
> > > > > > > > > "fredy" escribió en
> > > > > > > > > el
> > mensaje
> > > > > > > > > news:
> > > > > > > > > > hola grupo...
> > > > > > > > > > mi necesidad es la siguiente:
> > > > > > > > > >
> > > > > > > > > > tengo una tabla dbf (FUENTE)que proviene de foxpro
> > > > > > > > > > con
mas
> > de
> > > > > > 900.000
> > > > > > > > > > registros
> > > > > > > > > > tengo una tabla de excel la cual tengo que completar
> > > > > > > > > > con
> > datos
> > > > de la
> > > > > > tabla
> > > > > > > > > > dbf (FUENTE) la llave entre estas tablas es un numero
> > > > > > > > > > de
> > > > > > identificacion de
> > > > > > > > > > usuario y un numero de factura, los datos que tengo
> > > > > > > > > > que
> > extraer
> > > > de
> > > > > > > > > (FUENTE)
> > > > > > > > > > para cada usuario pueden ser de cero hasta 10 datos,
como
> > puedo
> > > > > > hacer la
> > > > > > > > > > consulta de FUENTE desde excel para extraer los datos
> > > > > > > > > > de
> > cada
> > > > > > > > > usuario???( mi
> > > > > > > > > > duda se debe a que latabla FUENTE no me la abre excel
por la
> > > > > > cantidad de
> > > > > > > > > > registros)
> > > > > > > > > >
> > > > > > > > > > muchas gracias por su colaboracion
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > >
> > > >
> > > >
> >
> >
> >



Respuesta Responder a este mensaje
#17 KL
12/03/2005 - 00:08 | Informe spam
si la operacion la quieres realizar en la hoja activa, el quitar ws no
afectaria el funcionamiento del codigo.

KL

"fredy" wrote in message
news:
Manuel he quitado el ws. ( supongo que debe ser algo como worksheet) y
funciono tiene este cambio alguna incidencia en el resultado?

"Manuel Romero" escribió:

Tomado de la ayuda de ExcelFor iCols = 0 to rs.Fields.Count - 1
ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
Next
ws.Range(ws.Cells(1, 1), ws.Cells(1, rs.Fields.Count)).Font.Bold = True
ws.Range("A2").CopyFromRecordset rsTe coloca en A1 los nombres de los
campos
y los pone en negrita. A partir de A2 van los resultados

"fredy" escribió en el mensaje
news:
> Manuel y como hago esto
> "prueba el metodo copyfromrecordset del objeto range. este metodo
> elimina
> el bucle do"
>
> Function CopyFromRecordset()
>
> no se como implementarlo para reeemplazar
>
> Do Until rs.EOF
> Sheets("HOJA1").Range("a" & cnt) = rs("adi_matr")
> Sheets("HOJA1").Range("b" & cnt) = rs("adi_nfac")
> Sheets("HOJA1").Range("c" & cnt) = rs("adi_codi")
> Sheets("HOJA1").Range("d" & cnt) = rs("adi_valo")
> rs.MoveNext
>
> cnt = cnt + 1
> Loop
>
> muchas gracias
> "Manuel Romero" wrote:
>
> > 1) coloca el application.screenupdating=false y regresalo a true
> > cuando
el
> > proceso termine
> >
> > 2) prueba el metodo copyfromrecordset del objeto range. este metodo
elimina
> > el bucle do
> >
> > las dos opciones no son excluyentes, intenta con ambas
> >
> > "fredy" escribió en el mensaje
> > news:
> > > si eso era muchas gracias Manuel : )
> > > es posible que este proceso sea mas rapido que el de la primera
> > > opcion
que
> > > me enviaste??
> > >
> > > "Manuel Romero" wrote:
> > >
> > > > Se me olvido (siempre me pasa, no se porque)
> > > >
> > > > rs.movenext
> > > >
> > > > antes del cnt=cnt+1
> > > >
> > > > "fredy" escribió en el mensaje
> > > > news:
> > > > > Hola Manuel
> > > > >
> > > > > estoy utilizando el codigo que me recomendaste ( aunque el
anterior me
> > > > > funciono el de datos externos lo adapte en una macro y me
> > > > > genero
los
> > > > > resultados que esperaba solo que se demoro casi 12 hrs para
extraer
> > los
> > > > datos
> > > > > de 9000 registros de la fuente de 900000 registros pero
bueno...ahora
> > > > busco
> > > > > tal vez un poco de rapidez en el proceso)
> > > > >
> > > > > PRIMERA SUGERENCIA DE MANUEL
> > > > >
> > > > > MATRICULA = Sheets("HOJA2").Cells(i, 2)
> > > > > FACTURA = Sheets("HOJA2").Cells(i, 4)
> > > > > Application.StatusBar = "CONSULTA " & i & " DE 8577
MATRICULA
> > " &
> > > > > MATRICULA & " FACTURA " & FACTURA
> > > > >
> > > > > With Sheets("HOJA1").QueryTables.Add(Connection:= _
> > > > > "ODBC;DSN=dBASE
> > > > >
> > > >
> >
Files;DefaultDir=C:\BORREME\2;DriverIdS3;MaxBufferSize 48;PageTimeout=5;
> > > > "
> > > > > _
> > > > > , Destination:=Sheets("HOJA1").Range("A1"))
> > > > > .CommandText = Array( _
> > > > > "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 & ")" _
> > > > > )
> > > > >
> > > > > .Name = "Consulta desde dBASE Files_13"
> > > > > .FieldNames = True
> > > > > .RowNumbers = False
> > > > > .FillAdjacentFormulas = False
> > > > > .PreserveFormatting = True
> > > > > .RefreshOnFileOpen = False
> > > > > .BackgroundQuery = True
> > > > > .RefreshStyle = xlInsertDeleteCells
> > > > > .SavePassword = True
> > > > > .SaveData = True
> > > > > .AdjustColumnWidth = True
> > > > > .RefreshPeriod = 0
> > > > > .PreserveColumnInfo = True
> > > > >
> > > > > .Refresh BackgroundQuery:=False
> > > > > End With
> > > > >
> > > > > RESULTADO
> > > > > ADI_MATR ADI_NFAC ADI_CODI ADI_VALO
> > > > > 117095 4 56 3000
> > > > > 117095 4 27 10408
> > > > > 117095 4 39 291
> > > > > 117095 4 28 0
> > > > > 117095 4 40 0
> > > > > 117095 4 61 3086
> > > > > 117095 4 63 -3
> > > > >
> > > > > en la nueva sugerencia me extrae datos lo que pasa es que se
> > > > > queda
en
> > el
> > > > loop
> > > > >
> > > > > tengo:
> > > > >
> > > > > MATRICULA = Sheets("HOJA2").Cells(i, 2)
> > > > > FACTURA = Sheets("HOJA2").Cells(i, 4)
> > > > >
> > > > > cn.Open "Driver={Microsoft dBASE Driver
> > > > > (*.dbf)};DriverID'7;Dbq=C:\BORREME\2;"
> > > > > 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
> > > > > cnt = 1
> > > > > Do Until rs.EOF
> > > > > ActiveSheet.Range("a" & cnt) = rs("adi_matr")
> > > > > ActiveSheet.Range("b" & cnt) = rs("adi_nfac")
> > > > > ActiveSheet.Range("c" & cnt) = rs("adi_nfac")
> > > > > ActiveSheet.Range("d" & cnt) = rs("adi_codi")
> > > > > ActiveSheet.Range("e" & cnt) = rs("adi_valo")
> > > > > cnt = cnt + 1
> > > > > Loop
> > > > >
> > > > > Next i
> > > > >
> > > > > rs.Close
> > > > > cn.Close
> > > > >
> > > > > RESULTADO
> > > > > pero me extrae solo un registro
> > > > >
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > 117095 4 4 56 3000
> > > > > .
> > ..
> > > > >
> > > > > PORQUE PUEDE ESTAR SUCEDIENDO?
> > > > >
> > > > > Gracias!!
> > > > >
> > > > > "Manuel Romero" escribió:
> > > > >
> > > > > > Puedes usar ADO, activa una referencia a MS ActiveX Data
> > > > > > Objects
2.X
> > > > primero
> > > > > > y escribe unas sentencias asi
> > > > > >
> > > > > > dim cn as new adodb.connection
> > > > > > dim rs as new adodb.recordset
> > > > > >
> > > > > > cn.open "cadena de conexion"
> > > > > > rs.open "select * from tutabla where campo=valor", cn,
> > adlockoptimistic,
> > > > > > adcmdtext
> > > > > > cnt=1
> > > > > > do until rs.eof
> > > > > > activesheet.range("a" & cnt)=rs("campo1")
> > > > > > activesheet.range("b" & cnt)=rs("campo2")
> > > > > > cnt=cnt+1
> > > > > > loop
> > > > > > rs.close
> > > > > > cn.close
> > > > > >
> > > > > > la cadenas de conexion para tablas DBF la puedes encontrar en
> > > > > > www.connectionstrings.com
> > > > > >
> > > > > > el ejemplo es muy (demasiado) sencillo, pero te puedes dar
> > > > > > una
idea
> > de
> > > > como
> > > > > > es
> > > > > >
> > > > > > "fredy" escribió en el
> > > > > > mensaje
> > > > > > news:
> > > > > > > listo Manuel ya pude realizar la consulta muchas gracias;
> > sinembargo
> > > > me
> > > > > > > gustaria saber si es posible recorrer la tabla DBF ( mas de
> > 900000¡
> > > > > > > registros)desde excel con una macro sin tener que realizar
este
> > > > proceso de
> > > > > > > consulta
> > > > > > >
> > > > > > > gracias! : )
> > > > > > >
> > > > > > > "fredy" wrote:
> > > > > > >
> > > > > > > > gracias manuel, pero resulta "imposible leer este
> > > > > > > > archivo"
otra
> > > > > > sugerencia
> > > > > > > > por favor, me gustaria manejarlo por macros alguna idea?
> > > > > > > >
> > > > > > > > "Manuel Romero" wrote:
> > > > > > > >
> > > > > > > > > Menu Datos / Obtener datos externos / Nueva consulta de
base
> > de
> > > > datos
> > > > > > > > >
> > > > > > > > > crea el origen de datos y sigue el asistente, ahi
> > > > > > > > > puedes
usar
> > > > > > criterios de
> > > > > > > > > seleccion e inclusive definir el orden de los registros
> > > > > > > > > a
> > traer
> > > > > > > > >
> > > > > > > > > "fredy" escribió en
> > > > > > > > > el
> > mensaje
> > > > > > > > > news:
> > > > > > > > > > hola grupo...
> > > > > > > > > > mi necesidad es la siguiente:
> > > > > > > > > >
> > > > > > > > > > tengo una tabla dbf (FUENTE)que proviene de foxpro
> > > > > > > > > > con
mas
> > de
> > > > > > 900.000
> > > > > > > > > > registros
> > > > > > > > > > tengo una tabla de excel la cual tengo que completar
> > > > > > > > > > con
> > datos
> > > > de la
> > > > > > tabla
> > > > > > > > > > dbf (FUENTE) la llave entre estas tablas es un numero
> > > > > > > > > > de
> > > > > > identificacion de
> > > > > > > > > > usuario y un numero de factura, los datos que tengo
> > > > > > > > > > que
> > extraer
> > > > de
> > > > > > > > > (FUENTE)
> > > > > > > > > > para cada usuario pueden ser de cero hasta 10 datos,
como
> > puedo
> > > > > > hacer la
> > > > > > > > > > consulta de FUENTE desde excel para extraer los datos
> > > > > > > > > > de
> > cada
> > > > > > > > > usuario???( mi
> > > > > > > > > > duda se debe a que latabla FUENTE no me la abre excel
por la
> > > > > > cantidad de
> > > > > > > > > > registros)
> > > > > > > > > >
> > > > > > > > > > muchas gracias por su colaboracion
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > >
> > > >
> > > >
> >
> >
> >



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