COMO EXECUTAR UM COMANDO PARTINDO DE UMA MATRIZ

FFECHER 23/02/2011 20:08:16
#366418
Pessoal:
Tenho uma matriz com os comandos para executar vários forms. Qual comando devo dar para executar um dos forms? Vou dar um exemplo:
DIM ATALHO(5,1)
ATALHO(1,1) = [Ô]PAGINA1.SHOW[Ô]
ATALHO(2,1) = [Ô]PAGINA2.SHOW[Ô]
ATALHO(3,1) = [Ô]PAGINA3.SHOW[Ô]
ATALHO(4,1) = [Ô]PAGINA4.SHOW[Ô]
ATALHO(5,1) = [Ô]PAGINA5.SHOW[Ô]

Agora preciso executar o comando ATALHO(3.1)
Como fazer para que a PAGINA3.SHOW possa ser aberta?
Obrigado por qualquer ajuda.
T+
Julio




DANIKULL 25/02/2011 09:56:59
#366555


FFECHER, bom dia.

Faz da seguinte forma que vai funcionar:

Dim Atalho(5, 1) As Form

Set Atalho(1, 1) = Form2
Set Atalho(2, 1) = Form3
Set Atalho(3, 1) = Form4
Set Atalho(4, 1) = Form5
Set Atalho(5, 1) = Form6


E para executar esta matrix você faz da seguinte forma

Atalho(5, 1).Show


Ok???

Qualquer dúvida poste novamente.

Abraços...
JSFF77 25/02/2011 10:23:11
#366557
Boa dia.

Amigo, veja esse tópico:

http://vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=359465&varPagina=2

Se você entendê-lo, resolverá seu problema.

Até breve.


JSFF77
FFECHER 26/02/2011 09:21:53
#366649
Agradeço ao JSFF77 e ao DANKULL pelas ajudas oferecidas.
Utilizei a ideia do DANKULL para tentar rodar a rotina e gostaria que ele visse o código escrito, pois nao funcionou:
Tenho uma tabela com os forms armazenados:
TABELA MENU
COMANDO LIBERADO
FORM1 S
FORM2 S
FORM3 N
FORM4 S
FORM5 S

DIM MATRIZ(5,1) AS FORM
DIM J AS INTEGER

j = 1
While Not Data1.Recordset.EOF
If Data1.Recordset([Ô]liberado[Ô]) = [Ô]S[Ô] Then
Set Matriz(j, 1) = Data1.Recordset([Ô]comando[Ô])
End If
j = j + 1
Data1.Recordset.MoveNext
Wend
...

Ao rodar da o seguinte erro:
Rum-time error 13 : Type mismatch

Nào chegando a rodar a rotina em
Matriz(2, 1).Show

Obrigado por qualquer ajuda
Julio
Tópico encerrado , respostas não são mais permitidas