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


    [Resolvido]Parâmetros de um Form para ser usado em uma função

    rtcoelho
    rtcoelho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 27/04/2013

    [Resolvido]Parâmetros de um Form para ser usado em uma função Empty Parâmetros de um Form para ser usado em uma função

    Mensagem  rtcoelho 17/9/2013, 16:26

    Olá galera...

    Estou montando uma função para automatizar o sistema de Busca de CEP no site dos correios, que já postei aqui no repositório/exemplos.

    Pois bem, estou melhorando o sistema e resolvi montar uma função para simplificar as coisas.

    A função abaixo irá fazer a busca do CEP numa base offline, caso o site dos correios esteja inoperante ou caso a máquina esteja sem internet.

    Então para usar a função, o programador deverá setar todos os campos do formulário que irá armazenar o retorno dos dados

    Código:
    Public Function Offline(campoCep1 As TextBox, campoEnd As TextBox, campoBairro As TextBox, campoCidade As TextBox, campoUf As TextBox, formCadastro As String, campoCep2 As Object)
    Na sequencia do código, faço uma consulta na base de dados para saber se o CEP informado existe na base, caso não exista, será exibida uma MsgBox perguntando se deseja cadastrar este CEP que não existe.

    Se o usuário decidir cadastrar, abriria o form de cadastro e é ai que está o meu problema.

    Eu quero que tudo fique parametrizado, para que os desenvolvedores possam implantar o meu sistema em seu projeto, sendo assim ele pode criar um form da forma que ele quiser e apenas informar os dados deste form.

    Esta forma como está o código acima e o código abaixo até que funcionou, porém o form de cadastro tem que está aberto, senão gera erro.

    Código:
    If MsgBox("O CEP digitado não está cadastrado na base de dados, deseja cadastrá-lo agora?", vbYesNo, "CEP não encontrado") = vbYes Then
                    
    DoCmd.OpenForm fCadastro
    cCep2.Value = cCep1

    Else

    Cancel = True
                    
    End If
    A chamada da função ficou da seguinte forma:

    Código:
    Call Offline(cep, endereco, bairro, cidade, estado, "frm_cadastro", Forms!frm_cadastro!cep)
    A forma que imaginei inicialmente não funciona, apesar de não funcionar, a logica que gostaria, espero que seja próxima a esta:

    Código:
    Public Function Offline(campoCep1 As TextBox, campoEnd As TextBox, campoBairro As TextBox, campoCidade As TextBox, campoUf As TextBox, formCadastro As String, campoCep2 As String)

    If MsgBox("O CEP digitado não está cadastrado na base de dados, deseja cadastrá-lo agora?", vbYesNo, "CEP não encontrado") = vbYes Then
                    
    DoCmd.OpenForm fCadastro
    Forms!fCadastro!cCep2.Value = cCep1

    Else

    Cancel = True
                    
    End If
    Desde já agradeço pela atenção.

    T+
    rtcoelho
    rtcoelho
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 27/04/2013

    [Resolvido]Parâmetros de um Form para ser usado em uma função Empty Re: [Resolvido]Parâmetros de um Form para ser usado em uma função

    Mensagem  rtcoelho 18/9/2013, 15:52

    Galera, dei mais uma boa estudada e consegui resolver o problema...

    O que eu queria ficou da seguinte forma:
    Código:
    DoCmd.OpenForm fCadastro
    Forms(fCadastro).Controls(cCep2) = cCep1
    De qualquer forma, agradeço a todos.

    T+

      Data/hora atual: 29/3/2024, 06:48