SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Barney en Lunes 14 de Octubre de 2002, 18:52

Título: Re: NECESITO AYUDA CON UN PROGRAMA
Publicado por: Barney en Lunes 14 de Octubre de 2002, 18:52
Hola. Necesito si alguien me puede resolver un problema que tengo con un progama que estoy haciendo en visual basic.
El problema es el siguiente. Tengo un formulario en el que quiero q al producirse el evento load aparezcan en pantalla tantos command button como registros tengo una tabla de la base de datos. Tengo escrito e l siguiente código:

Private Sub Form_Load()
 Set db2 = OpenDatabase("C:basebar.mdb")
 Set rst2 = db2.OpenRecordset("SELECT * FROM BEBIDAS")
 rst2.MoveLast
 rst2.MoveFirst
 i = rst2.RecordCount
 cmdPrueba(0).Caption = rst2!Nombre
 For j = 1 To i - 1
    Load cmdPrueba(j)
    rst2.MoveNext
    cmdPrueba(j).Caption = rst2!Nombre
    cmdPrueba(i).Visible = True
    cmdPrueba(i).Left = 10
    cmdPrueba(i).Top = 10 + j * 30
 Next j
End Sub

Pero no me funciona, me dice que el elemento 4 de la matriz no existe.
¿alguien me puede ayudar?
Un saludo y gracias.
Título: Re: NECESITO AYUDA CON UN PROGRAMA
Publicado por: javierbalk en Miércoles 16 de Octubre de 2002, 23:47
a simple vista parece que debería funcionar
¿en que linea te da el error?
Si pones como archivo adjunto la base de datos lo pruebo y veo
Título: NECESITO AYUDA CON UN PROGRAMA
Publicado por: piluka en Jueves 17 de Octubre de 2002, 11:03
el problema es muy simple, pero a vez muy complicado de ver (lo digo por experiencia)

cmdPrueba(j).Caption = rst2!Nombre
cmdPrueba(i).Visible = True
cmdPrueba(i).Left = 10
cmdPrueba(i).Top = 10 + j * 30

en las tres últimas líneas has puesto el índice i en vez del j

un saludo