Hola a todos,
tengo el siguiente problema: al realizar una consulta vía odbc
mediante una macro que tengo, funciona al azar (o eso creo). Es decir,
unas veces finaliza correctamente y otras me aparece una ventana para
que vuelva a seleccionar la conexión odbc. Si me pide la conexión
odbc, en bastantes ocasiones me da un error 1004 en tiempo de
ejecución.
El código que tengo es el siguiente:
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=A;UID=X;", Destination:=Range(calculado por otra
funcion)
.CommandText = Array( _
"SELECT inlinalba.serie, inlinalba.entrada, inlinalba.codiart,
inlinalba.cantidad" & Chr(13) & "" & Chr(10) & _
"FROM X.inlinalba inlinalba" & Chr(13) & "" & Chr(10) & "WHERE
(inlinalba.serie='AL') AND (inlinalba.entrada = '" & Pedidos(aux) &
"')")
.Name = "Consulta de Lineas"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Comentar que Pedidos(aux) es un array que contiene una serie de
codigos de albaranes, así repito ésta búsqueda por cada albarán que
esté en el array. A continuación hago:
aux = aux + 1
Sleep 10000
Todo esto dentro de un bucle while.
Lo del Sleep no se si tendrá que ver, pero poníendolo, se me reduce
enormemente el número de veces en que me pide que seleccione la
conexión odbc.
Espero que podais ayudarme.
Un saludo a todos.
Leer las respuestas