Hola buenos días a todos.
Estoy accediendo a una consulta de query ya existente mediante el
siguiente código.
Sub Consul()
Dim nit As Double
nit = Val(InputBox("Digite el número de cédula", "Cédula"))
Range("A2").Select
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=C:\Boris Durango\Tablas Base
HL\Bases93-2006.mdb;DefaultDir=C:\Boris Durango\Tablas Base
HL;DriverId" _
), Array("%;FIL=MS
Access;MaxBufferSize 48;PageTimeout=5;")), Destination _
:=Range("A1"))
.CommandText = Array( _
"SELECT Basica.Cedula, Basica.Nombre, Basica.Tipo,
Basica.FNacimiento, Basica.Sexo FROM `C:\Boris Durango\Tablas Base HL
\Bases93-2006`.Basica Basica WHERE (Basica.Cedula=nit) ORDER BY
Basica.Cedula" _
)
.Name = "Consulta de prueba_1"
.SourceConnectionFile = _
"C:\Documents and Settings\bdurango\Datos de programa\Microsoft
\Consultas\Consulta de prueba.dqy"
.Refresh BackgroundQuery:=False
End With
Range("A3").Select
End Sub
El problema que tengo es que cuando en el where asigno el valor en
números de la cédula a buscar, me genera la consulta sin problemas,
pero como lo que quiero es que ese número me lo tome por teclado, al
asignarle a Basica.Cedula la variable directamente, me genera error en
la fila .Refresh BackgroundQuery:=False. Supongo que esa asignación
está errada, pero ya he probado de varias formas y no me acepta la
variable.
Espero no haberme complicado tanto con la pregunta.
Agradezco su colaboración.
Boris
Leer las respuestas