Foros del Web » Soporte técnico » Ofimática »

Duda en Query Select con VBA en Excel

Estas en el tema de Duda en Query Select con VBA en Excel en el foro de Ofimática en Foros del Web. Buen día, estoy intentando usar el código que copio más abajo, desde un formulario en Excel: Cuando lo ejecuto la primera vez, funciona perfecto, pero ...
  #1 (permalink)  
Antiguo 11/08/2010, 07:22
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Duda en Query Select con VBA en Excel

Buen día, estoy intentando usar el código que copio más abajo, desde un formulario en Excel:
Cuando lo ejecuto la primera vez, funciona perfecto, pero a partir de la segunda ya no da ningún resultado (tampoco da error).
Al inspeccionarlo me doy cuenta que la segunda vez, al abrir el Recordset, automáticamente le pone la propiedad EOF en True.
No sé como hacer para evitar eso.
Sé que luego de CopyFromRecordset, el OEF se pone en verdadero, pero, se suponía que al cerrar el Recordset, esto quedaba sin efecto.
Agradecería cualquier ayuda.
Muchas gracias de antemano.
Saludos
Pablo

Worksheets("CLIEMH").Range("Z1:AZ3000").Clear

vNombre = TextBox1

Sql = "SELECT NROCTA, NOMBRE, DIRECC FROM [CLIEMH$E9:T2000] WHERE NOMBRE LIKE '%" & _
vNombre & _
"%' order by NOMBRE"

Set Cnn = New ADODB.Connection
With Cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & ActiveSheet.Parent.FullName
.Properties("Extended Properties").Value = "Excel 8.0;HDR=Yes"
.Open
End With

Set Rs = New ADODB.Recordset

Rs.CursorLocation = adUseClient
Rs.Open Sql, Cnn ', , , adCmdText

If Rs.EOF = False Then
Worksheets("CLIEMH").Range("AA3:AA" & Rs.RecordCount + 3).CopyFromRecordset Rs
End If


Rs.Close
Set Rs = Nothing

Cnn.Close
Set Cnn = Nothing

Etiquetas: excel, query, select, sql, vba
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:16.