Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Passar informação entre Formulários


wootzor

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Acabei por resolver de outra forma e colocar um controlo toolStrip no próprio formulário. Fica o código para mostrar apenas as abas que correspondem às caixas seleccionadas (assumindo que as caixas seguem o padrão chkNome e as abas apenas Nome):

Private Sub btnAdicionar_Click()
    For Each ctrl In Controls
        If TypeName(ctrl) = "CheckBox" Then
            If ctrl = True Then
                tabName = Right(ctrl.Name, Len(ctrl.Name) - 3) 'eliminar a string "chk" do nome do objecto
                Me.Controls(tabName).Visible = True
                tsObj.Visible = True 'toolStrip
            End If
        End If
    Next ctrl
End Sub

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...