Error en bucle for por declaracion de variable

Viendo una de tus respuestas di con una solución para llenar varios ComboBox. Mi código es el siguiente

Private Sub Worksheet_Activate()
Dim CN As Object
Dim RsProfe As Object
Dim t, c, cb, o As String 'Tabla, campo, consulta, objeto formulario
Dim nombre As String
Dim fila, i As Integer
 Set CN = New ADODB.Connection
 Set RsProfe = New ADODB.Recordset
 fila = 2
 For i = 1 To 2
    t = Sheets("objetos").Cells(fila, 2).Value 'Nombre de la Tabla
    c = Sheets("objetos").Cells(fila, 3).Value 'Nombre del campo
    cb = "Select" & c & "From " & t
    nombre = ThisWorkbook.Path & "\BD-GI.mdb"
    CN.Open "provider=microsoft.jet.oledb.4.0; " & "data source=" & nombre & ";"
        RsProfe.ActiveConnection = CN
        RsProfe.CursorType = adOpenStatic
        RsProfe.LockType = adLockOptimistic
        RsProfe.CursorLocation = adUseClient
        ''Consulta BD''
        RsProfe.Open cb
        For Each ct In Me.Control
            If ct.Name = o Then
                Do While Not RsProfe.EOF()
                  o.AddItem RsProfe(c)
                   RsProfe.MoveNext
                Loop
            End If
          RsProfe.Close
          Set RsProfe = Nothing
      CN.Close
   Set CN = Nothing
fila = fila + 1
Next

End Sub

Pero en Me. Controls me marca el siguiente error.

Error de compilación, no se ha declarado la variable.

He probado declarando el ct con todas las opciones posibles pero no me funciona nada.

1 respuesta

Respuesta
1

Leyendo el código efectivamente te falta declarar la variable ct, dejala así:

Dim ct

Además la expresión correcta es Me. Controls

Sdos!

Gracias elsa por tu rápida respuesta

Declare la variable como Dim Ct y corregí la expresión a Me.Controls, pero al ejecutar ahora me aparece el siguiente error.

Error de Compilación: no se encontró el método o dato miembro

¿Me faltará alguna referencia?.

De antemano muchas gracias.

Bien, resuelto entonces el tema de tu consulta, ahora recién se empieza ejecutar el proceso... y es posible que te aparezcan otros errores durante el mismo.

La primer referencia que debes verificar dentro de menú Herramientas, Referencias es la llamada Microsoft ActiveX Data Objects nnnn Library (nnn puede ser 2.8 o 6.0 el que tengas).

Si luego siguen apareciendo otros mensajes, debes dejar nueva consulta en el tablón con el nuevo mensaje de error y seguramente otros con más tiempo podrán asistirte.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas