Tenho um conjunto de check boxes num formulário e pretendo que, ao clicar num botão, seja aberto um segundo formulário que possa aceder à informação das caixas que foram marcadas na janela anterior. Qual seria a melhor forma de conseguir tal comportamento?
Tentei fazer através da criação de um array onde colocasse os nomes das check boxes que foram activadas mas acontece que no VBA não se consegue criar um array dinâmico tão facilmente como pensava.
Segue o código que tenho:
Dim ctrl As Access.Control
Dim i As Integer
Dim arrTabs(i) As String
Private Sub btnAdicionar_Click()
For Each ctrl In Controls
If TypeName(ctrl) = "CheckBox" And ctrl.Value = True Then
ReDim Preserve arrTabs(i + 1)
arrTabs(i + 1) = ctrl.Name
End If
Debug.Print arrTabs
Next ctrl
'DoCmd.OpenForm "frmNovo", acFormPivotTable, , , , , arrTabs
End Sub
Li que a instrução ReDim Preserve não é a melhor opção do ponto de vista do desempenho mas foi o caminho que me pareceu mais directo para obter o que pretendia. No entanto não tive sucesso.
Pergunta
wootzor
Tenho um conjunto de check boxes num formulário e pretendo que, ao clicar num botão, seja aberto um segundo formulário que possa aceder à informação das caixas que foram marcadas na janela anterior. Qual seria a melhor forma de conseguir tal comportamento?
Tentei fazer através da criação de um array onde colocasse os nomes das check boxes que foram activadas mas acontece que no VBA não se consegue criar um array dinâmico tão facilmente como pensava.
Segue o código que tenho:
Li que a instrução ReDim Preserve não é a melhor opção do ponto de vista do desempenho mas foi o caminho que me pareceu mais directo para obter o que pretendia. No entanto não tive sucesso.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.