MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


4 participantes

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    MS Kid
    MS Kid
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 22/01/2013

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  MS Kid 21/8/2013, 14:39

    bom dia à todos.

    estou querendo criar uma classe que tem uma variável privada do tipo Form (Private WithEvents frmFormulario As Form) e recebe (Public Property Set Formulario(frmForm As Form)) um formulário já criado no Access e que se encontra fechado. ao cria um objeto dessa classe, eu quero passar esse formulário que se encontra fechado como parâmetro para esse objeto salvando-o na variável privada, para carregá-lo sem ter que usar o DoCmd.OpenForm "nomeDoFormulario". eu criei uma Sub dentro da classe (Public Sub Mostrar()) e tentei carregá-lo assim, frmFormulario.Visible = True, mas, não funcionou. como posso carregar esse formulário sem ter que usar o nome dele, mas, sim o objeto Form.

    obrigado.
    Silvanio123
    Silvanio123
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 98
    Registrado : 24/08/2011

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  Silvanio123 21/8/2013, 19:02

    Boa tarde MS Kid,

    Para se pegar qualquer coisa de um form "especifico" tem que se dar referencia ao objeto ou seja o nome do form, mas o que eu não entendi é o que vc quer pegar nesse form?, que "parametro" é esses em questão.

    Veja isso:
    http://msdn.microsoft.com/en-us/library/aty3352y.aspx
    esta em inglês - só traduzir.

    Aguardo...
    MS Kid
    MS Kid
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 22/01/2013

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  MS Kid 21/8/2013, 19:49

    boa tarde, Silvanio.

    tudo bem?

    esse é o código da classe clsFormulario:

    Código:
    Option Compare Database
    Option Explicit

    Private WithEvents frmFormulario As Form

    Public Event Abrir(Cancel As Integer)
    Public Event Carregar()
    Public Event Descarregar(Cancel As Integer)
    Public Event Fechar()

    Public Property Set Formulario(frmForm As Form)
        Set frmFormulario = frmForm
        
        frmFormulario.OnOpen = "[Event Procedure]"
        frmFormulario.OnLoad = "[Event Procedure]"
        frmFormulario.OnUnload = "[Event Procedure]"
        frmFormulario.OnClose = "[Event Procedure]"
    End Property

    Public Sub Mostrar()
        frmFormulario.Visible = True
    End Sub

    Private Sub frmFormulario_Open(Cancel As Integer)
        RaiseEvent Abrir(Cancel)
        MsgBox "evento Abrir na classe clsFormulario"
    End Sub

    Private Sub frmFormulario_Load()
        RaiseEvent Carregar
    End Sub

    Private Sub frmFormulario_Unload(Cancel As Integer)
        RaiseEvent Descarregar(Cancel)
    End Sub

    Private Sub frmFormulario_Close()
        RaiseEvent Fechar
    End Sub

    Private Sub Class_Terminate()
        Set frmFormulario = Nothing
    End Sub
    e esse é o código do formulário que criei para teste, só para instanciar o objeto da classe clsFormulario:

    Código:
    Option Compare Database
    Option Explicit

    Private Sub btnTeste_Click()
        On Error GoTo TratarErro
        
        Dim objTela As clsFormulario
            
        Set objTela = New clsFormulario

        'Aqui, eu quero passar um objeto Form como parametro, ao invés do nome do Form    
        objTela.Formulario (Application.CurrentProject.AllForms("frmTela"))
        objTela.Mostrar
            
    SairErro:
        'Set objTela = Nothing
        Exit Sub
    TratarErro:
        Resume SairErro
    End Sub
    Obrigado.
    MS Kid
    MS Kid
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 22/01/2013

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Como Criar Uma Nova Instância De Um Formulário Criado No Access Usando VBA?

    Mensagem  MS Kid 26/8/2013, 21:15

    boa tarde, pessoal.
    alguém sabe fazer isso em VBA?
    matheuspereira
    matheuspereira
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 513
    Registrado : 31/12/2012

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Como Criar Uma Nova Instância De Um Formulário Criado No Access Usando VBA?

    Mensagem  matheuspereira 27/8/2013, 02:54

    Olá. Se vc explicar ,melhor oque quer acho que rapidinhos irão te ajudar.. Abraço
    MS Kid
    MS Kid
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 22/01/2013

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  MS Kid 28/8/2013, 00:06

    eu quero criar um form no Access, criar uma classe que receba esse form como parametro e abrir esse form atraves dos objetos dessa classe.
    matheuspereira
    matheuspereira
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 513
    Registrado : 31/12/2012

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Como Criar Uma Nova Instância De Um Formulário Criado No Access Usando VBA?

    Mensagem  matheuspereira 28/8/2013, 00:29

    Boas amigos só uma pergunta, que classe seria esta que vc se refere?
    MS Kid
    MS Kid
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 22/01/2013

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  MS Kid 28/8/2013, 17:05

    segue o código da classe clsFormulario, que recebe um form como parâmetro:

    Código:
    Option Compare Database
    Option Explicit

    Private WithEvents frmFormulario As Form

    Private Sub Class_Initialize()
        Set frmFormulario = Nothing
    End Sub

    Private Sub Class_Terminate()
        Set frmFormulario = Nothing
    End Sub

    Public Property Set Formulario(frmForm As Form)
        Set frmFormulario = frmForm
    End Property

    Public Sub AbrirFormulario()
        frmFormulario.Visible = True
    End Sub

    eu quero criar um objeto dessa classe clsFormulario e carregar um formulário, passado por parâmetro, que já foi criado no Access e que se encontra fechado. eu obtenho esse form já criado previamente através de Application.CurrentProject.AllForms("nomeDoForm").

    esse é o código onde eu crio o objeto da classe clsFormulario:


    Código:
    Option Compare Database
    Option Explicit

    Private Sub btnTeste_Click()    
        Dim objTela As clsFormulario
        
        Set objTela = New clsFormulario
        
        objTela.Formulario = Application.CurrentProject.AllForms("frmTela")
        objTela.AbrirFormulario
    End Sub
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  DamascenoJr. 21/3/2020, 17:58

    MS Kid, algum avanço com a dúvida deste tópico?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    MS Kid
    MS Kid
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 64
    Registrado : 22/01/2013

    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  MS Kid 27/3/2020, 19:58

    obrigado pessoal!

    Conteúdo patrocinado


    [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe? Empty Re: [Resolvido]Como Abrir Formulário Recebido por Parâmetro em um Módulo de Classe?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/12/2024, 08:17