problema con una consulta de excel

06/06/2007 - 17:51 por Esteban Franco | Informe spam
ustedes me arian el favor de decirmen si esta sentencia esta bien o no

es que la ejecuto y no me funciona

es que necesito traer informacion de varios libros y ya tengo el
codigo y este no me da

gracias

'Creamos la cedena texto de la consulta SQL
NOMHOJA = Left(Tmp, Len(Tmp) - 1) ' Este es una variable para el
nombre de la hoja

esta variable equivale ha esto IMP # 25 COMERTEX S#A# # 2

strSQL = "SELECT * FROM [IMP # 25 COMERTEX S#A# # 2]'!$k2:k100"

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
07/06/2007 - 02:48 | Informe spam
hola, Esteban !

... esta sentencia esta bien o no... es que la ejecuto y no me funciona
... necesito traer informacion de varios libros y ya tengo el codigo y este no me da
'Creamos la cedena texto de la consulta SQL
NOMHOJA = Left(Tmp, Len(Tmp) - 1) ' Este es una variable para el nombre de la hoja
esta variable equivale ha esto IMP # 25 COMERTEX S#A# # 2
strSQL = "SELECT * FROM [IMP # 25 COMERTEX S#A# # 2]'!$k2:k100"



1) [de seguro] cuando 'obtuviste' el nombre de la hoja de tu libro cerrado: -> IMP # 25 COMERTEX S#A# # 2
el nombre *real* de la hoja es algo +/- como lo siguiente IMP # 25 COMERTEX S.A. # 2
-> [es decir]... cuando rescatas nombres de 'tablas' [por ADO] desde libros cerrados...
-> si dentro del nombre existen PUNTOS, estos son sustituidos por el signo de libra/numero/gato/... -> #
-> [o sea que]... si el nombre que rescatas contiene #... [pudiera ser *realmente* dicho caracter #... o algun PUNTO] -???-

2) en cuanto a la forma de establecer la cadena de consulta [ADO/SQL/ODBC/...] para tu variable strSQL...
-> strSQL = "SELECT * FROM [IMP # 25 COMERTEX S#A# # 2]'!$k2:k100"
a) [hasta donde se] el uso de corchetes [...] es *valido* SOLO cuando no existen espacios en la referencia que contienen
b) tienes un apostrofo *de cierre*.. pero no existe un *de apertura*
c) el caso del signo ! es similar a los dos anteriores
-> PERO... cuando las referencias [directas o a traves de variables] contienen espacios... [las reglas cambian] ejemplos:
a) un nombre definido 'a nivel de hoja' p.e.: -> select * from [hoja1$!nombre_definido]
b) *toda* una hoja de calculo p.e.: -> select * from [hoja1$]
c) un rango en una hoja de calculo, que puede ser inclusive con o sin el nombre de la hoja [p.e.]
c.1) select * from [hoja1$!a1:b4]
c.2) select * from [a1:b4] [aqui se 'entiende' que se usara la hoja(1) aun si no esta 'visible']
-> si existira la posibilidad de nombres con espacios [o solo numeros]... prueba con algo +/- como lo siguiente:
a) strSQL = "SELECT * from `" & NOMHOJA & "$k2:k100`"
b) strSQL = "SELECT * from `" & NOMHOJA & "$" & RangoDeDatos & "`"

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Esteban Franco
07/06/2007 - 17:13 | Informe spam
On 6 jun, 19:48, "Héctor Miguel"
wrote:
hola,Esteban!

> ... esta sentencia esta bien o no... es que la ejecuto y no me funciona
> ... necesito traer informacion de varios libros y ya tengo el codigo y este no me da
> 'Creamos la cedena texto de la consulta SQL
> NOMHOJA = Left(Tmp, Len(Tmp) - 1) ' Este es una variable para el nombre de la hoja
> esta variable equivale ha esto IMP # 25 COMERTEX S#A# # 2
> strSQL = "SELECT * FROM [IMP # 25 COMERTEX S#A# # 2]'!$k2:k100"

1) [de seguro] cuando 'obtuviste' el nombre de la hoja de tu libro cerrado: -> IMP # 25 COMERTEX S#A# # 2
el nombre *real* de la hoja es algo +/- como lo siguiente IMP # 25 COMERTEX S.A. # 2
-> [es decir]... cuando rescatas nombres de 'tablas' [por ADO] desde libros cerrados...
-> si dentro del nombre existen PUNTOS, estos son sustituidos por el signo de libra/numero/gato/... -> #
-> [o sea que]... si el nombre que rescatas contiene #... [pudiera ser *realmente* dicho caracter #... o algun PUNTO] -???-

2) en cuanto a la forma de establecer la cadena de consulta [ADO/SQL/ODBC/...] para tu variable strSQL...
-> strSQL = "SELECT * FROM [IMP # 25 COMERTEX S#A# # 2]'!$k2:k100"
a) [hasta donde se] el uso de corchetes [...] es *valido* SOLO cuando no existen espacios en la referencia que contienen
b) tienes un apostrofo *de cierre*.. pero no existe un *de apertura*
c) el caso del signo ! es similar a los dos anteriores
-> PERO... cuando las referencias [directas o a traves de variables] contienen espacios... [las reglas cambian] ejemplos:
a) un nombre definido 'a nivel de hoja' p.e.: -> select * from [hoja1$!nombre_definido]
b) *toda* una hoja de calculo p.e.: -> select * from [hoja1$]
c) un rango en una hoja de calculo, que puede ser inclusive con o sin el nombre de la hoja [p.e.]
c.1) select * from [hoja1$!a1:b4]
c.2) select * from [a1:b4] [aqui se 'entiende' que se usara la hoja(1) aun si no esta 'visible']
-> si existira la posibilidad de nombres con espacios [o solo numeros]... prueba con algo +/- como lo siguiente:
a) strSQL = "SELECT * from `" & NOMHOJA & "$k2:k100`"
b) strSQL = "SELECT * from `" & NOMHOJA & "$" & RangoDeDatos & "`"

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



No me deja no me sirvio esa consulta

gracias
Respuesta Responder a este mensaje
#3 Héctor Miguel
09/06/2007 - 06:21 | Informe spam
hola, Esteban !

No me deja no me sirvio esa consulta
gracias



[me parece que] las propuestas que se te han hecho...
a) SON [o se trata de hacerlas]...
-> lo *suficientemente* extensas/entendibles/detalladas/minuciosas/-casi-completas/...
b) MERECEN que les des [o intentes hacer] una *retro-alimentacion*...
-> con *algo mas* que un simple/'conciso'/...
-> *no me sirve...* [o *no se utilizarla...*]
-> *no entiendo el ingles...*
-> [incluso] que NO las *ignores* <\°|°/>

[dejame insistir en que]...
serviria de mucho si comentas [+/- exactamente] lo que ya has intentado [p.e.]
- si ya descargaste y estudiaste/analizaste/probaste/... el archivo con los ejemplos de uso [MoreFunc.xla]
- como y donde estas 'armando' la funcion [que no te esta funcionando] ?
- cual es el contenido de la/s celda/s de donde le pasas argumentos a la funcion ?
- cualquier detalle que estes 'dejando en el tintero' :))

-> disculpame si te llegara a parecer... *grosero/pedante/pesado/...' PERO [puedes creerme]...
no estas *ayudandote* para que TU *problema* alcance alguna solucion en el corto plazo :-((

-> cuando tengas un tiempo de ocio... date una vuelta por: -> http://excel4all.spaces.live.com/
[es probable que entiendas el porque de tantas re/preguntas] :D

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