Duda VBA y conexión ODBC

13/04/2004 - 18:28 por sinistrad666 | Informe spam
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

#1 sinistrad666
14/04/2004 - 09:28 | Informe spam
Bueno, me contesto yo mismo que ya lo he solucionado (aparentemente).

El problema es que tengo tres macros que realizan distintas consultas
a la BBDD mediante el driver odbc.
Poniendo el mismo nombre de consulta a las 3, funciona todo bien.

Preguntas similares