Saltar al contenido
unAdo

Error 9 en vba

Recommended Posts

Estoy ejecutando un macro y me sale el siguiente error si alguien me puede ayudar 

Dim CtaBancaria() As CtaBancaria
    Dim Empresas() As Empresa
    Dim conexiones() As String
    Dim comando As String
    Dim comando2 As String
    Dim conn As String
    Dim cuentas As String
    Dim recordset, recordset1 As ADODB.recordset
    Dim contador As Integer
    Dim CtaBan As CtaBancaria
    Dim Emp As Empresa
    
    cuentas = ""
    
    comando = "select........"
    conexiones = conexion()
    contador = 1
    'obtenemos las cuentas de todas la empresas
    For i = 0 To UBound(conexiones)
    
        Set Emp = New Empresa
        conn = conexiones(i)
        Set recordset = ObtenerDatos(conn, comando)
        With recordset
            Do While Not .EOF
                If Not .Fields(0) = Emp.EmpresaID Then
                    If Emp.EmpresaID > 0 Then
                        ReDim Preserve Empresas(contador - 1)
                        Empresas(contador - 1) = Emp
                    End If
                    Set Emp = New Empresa
                    Emp.EmpresaID = .Fields(0)
                    Emp.conexion = conn
                End If
                
                Set CtaBan = New CtaBancaria
                cuentas = cuentas + "'" + .Fields(2) + "','" + .Fields(3) + "',"
                CtaBan.EmpresaID = .Fields(0)
                CtaBan.CtaID = .Fields(1)
                CtaBan.NumCta = .Fields(2)
                CtaBan.Clabe = .Fields(3)
                
                Emp.AgregarCta CtaBan ----------------------------------------------->>>>>>>>>>>>>>>>>>>Error aquí
                
                .MoveNext
            Loop
         End With
         contador = contador + 1
    Next i
    If Emp.EmpresaID > 0 Then
        ReDim Preserve Empresas(contador - 1)
        Empresas(contador - 1) = Emp
    End If

 

Editado el por Gerson Pineda
Codigos envueltos con etiqueta

Compartir este mensaje


Enlace a mensaje
Compartir con otras webs

Hola Unado y bienvenido al foro!

Pero antes de todo por favor lee las normas de uso como las directrices y luego sigues con tu duda

Por ejemplo para pegar los códigos de las macros, se tiene que usar etiquetas y en otros casos no es ni necesario hacerlo

Pd: envolveré tus códigos con etiquetas

 

Saludos 

Compartir este mensaje


Enlace a mensaje
Compartir con otras webs

¿Y dódnde exactamente te da el error @unAdo ? Porque el error 9 es demasiado genérico, pero generalmente indica que haces referencia a algo que no existe, por ejemplo:

WorkSheets("Hoja2").Activate

Y no existe la hoja2 en el proyecto

Compartir este mensaje


Enlace a mensaje
Compartir con otras webs

 

Cita

¿Y dódnde exactamente te da el error @unAdo ? Porque el error 9 es demasiado genérico, pero generalmente indica que haces referencia a algo que no existe, por ejemplo:

Hola a todos,amigo  @Haplox marco el error aquí:

Cita
Emp.AgregarCta CtaBan ----------------------------------------------->>>>>>>>>>>>>>>>>>>Error aquí

 

Compartir este mensaje


Enlace a mensaje
Compartir con otras webs

pues tengo una clase del tipo CtaBancaria y cuando quiero agregar un valor ami variable de tipo Empresa "Emp" es cuando me sale el error 

Emp.AgregarCta CtaBan

Estuve checando y es porque mi arra se inicializa de 0 to -1 pero no se como hacerle para que se inicie en 0 

Compartir este mensaje


Enlace a mensaje
Compartir con otras webs

Gracias a todos por la ayuda ya resolví mi error,

estoy conectando a cuatro bases de datos 

obtengo la información de las cuatro conexiones, y las guardo en un array pero quisiera saber como guardarlas en  array por conexión, ya que me las guarda en un array por separado.

por ejemplo obtengo 4 registros por conexión , necesitaría 4 arrays y en cada uno cuatro elementos 

pero hasta ahora me salen 16 arrays uno por cada elemento 

 

 

Macro.xlsm

Editado el por unAdo

Compartir este mensaje


Enlace a mensaje
Compartir con otras webs
Invitado
Este tema está cerrado a más respuestas.

×