Hola momo 2 cosas.
1.- Porque estas usando el ADO de la version anterior para conectarte a la base de datos ..?? porque no usas ADO.Net ??
2.- El array recuerda que si es dinámico lo debes inicializar para que lo puedas ir llenando quedaría tu code así:
Cita: Dim rubros(0) As String
MasterConn.ConnectionString = MasterAccessConnect
MasterConn.Open(MasterAccessConnect)
MasterRs = New ADODB.Recordset
MasterRs.Open("SELECT * FROM tablarubros order by id asc", MasterConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
Dim i As Int16
Do Until MasterRs.EOF Or MasterRs.BOF
i = i + 1
rubros(i-1) = MasterRs.Fields.Item("rubro").Value
ReDim Preserve rubros(i)
Label1.Text = MasterRs.Fields.Item("rubro").Value()
MsgBox(rubros(i-1)) '***Este msgbox no me muestra nada***
MasterRs.MoveNext()
Loop
MasterConn.Close()
Salu2