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


3 participantes

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 16/3/2016, 20:07

    Boa tarde.
    Existindo uma tabela com 12 campos discriminados como campo 1, 2, 3.....12, se colocassemos esses campos em 4 formulários indepedentes, qual seria a rotina no vba necessária, para que no último formulario, os botões de navegação deste formulário, ao serem utilizados, registrem todas as informações desses 4 formularios na respectiva tabela?
    Gabriel Brunichaki
    Gabriel Brunichaki
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 138
    Registrado : 11/12/2015

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Gabriel Brunichaki 18/3/2016, 18:06

    Gostaria de preencher um formulário por vez? Nesse caso, todos teriam que estar aberto para que o botão do último formulário pudesse pegar os valores digitados e inserir na tabela.

    No evento do botão, seria algo mais ou menos assim:

    Currentdb.Execute "INSERT INTO SuaTabela (1,2,3,4,...,12) VALUES (" & Forms("Form1").Controls("nomedocampo").Value & ", ..., " & Me.nomedocampo.Value & ");"

    No lugar de ... tu adiciona todos os campos de todos os forms que tu quer pegar a informação.

    Acho que é isso, não testei...


    .................................................................................
    “Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos.”
    – Albert Einstein
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 19/3/2016, 13:36

    Bom dia
    Fiz um pequeno exemplo e tentei.
    Mas não foi.
    https://www.dropbox.com/s/i2u2ztf39218fmc/Teste%203%20form.accdb?dl=0
    Se alguem puder ajudar..
    Obrigado
    studioaccess
    studioaccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/03/2016

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Forma de solução

    Mensagem  studioaccess 19/3/2016, 15:22

    Mylton

    Se você conectar os formulário à tabela, os formulário farão acesso simultâneo ao mesmo registro e, pelo teste que fiz,  só salvaria a informação de um dos formulários.

    Você pode utilizar formulários desconectados da tabela e, salvar os dados de cada campo em variáveis, para depois incluí-los na tabela usando sql
    Exemplo


    Código:


    strCodProcesso =  Form1.CodProcesso.value
    strTipoJustica = Form2.TipoJustica.value
    strComarca = Form3.Comarca.value

    Docmd.runSQL "INSERT INTO CadastroProcessual ( CodProcesso, TipoJustica, Comarca ) " & _
    " SELECT " & strCodProcesso & " AS CodProcesso, " & strTipoJustica  & " AS TipoJustica, " & strComarca  & " AS Comarca;"


    A desvantagem de desvincular a tabela ao recordset do formulário é que, para visualizar os dados, você precisaria preencher o formulário utilizando a DAO ou ADO para consulta dos dados.

    --

    Qual o intuito de ter 4 formulário para cadastrar\editar o mesmo registro ?
    Não existe outra alternativa para resolver este problema sem a necessidade de criar 4 formulários ?

    Qualquer dúvida estou à disposição
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 19/3/2016, 17:37

    Boa tarde.
    Seria para tentar usar nessa minha outra dúvida abaixo.
    Se puder ajudar nesta. ..
    https://www.maximoaccess.com/t25934-botoes-no-form-de-navegacao-nao-funciona-access-2010-em-diante

    Obrigado
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 19/3/2016, 22:31

    Coloquei uma rotina para form independente num botão gravar....
    mas não roda.
    Como poderia resolver isso?

    https://www.dropbox.com/s/680kpx991f3rl04/Form%20Navega%C3%A7%C3%A3o.accdb?dl=0
    studioaccess
    studioaccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/03/2016

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  studioaccess 19/3/2016, 23:34

    Uma alternativa rápida seria utilizar abas ao invés do formulário de navegação, conforme o modelo que postei neste link

    https://drive.google.com/file/d/0B0eI95-l8snXajJUMjZiMEtGS1U/view?usp=sharing

    Mas vou pesquisar uma forma de fazer com os formulário de navegação
    studioaccess
    studioaccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/03/2016

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  studioaccess 20/3/2016, 12:13

    Acredito ter conseguido resolver o problema

    Link para download do Banco de Dados

    Utilizei o objeto TempVars para armazenar o ID do registro atual durante a navegação entre os formulários

    Código nos formulários 1 e 2 (Que não tem os botões de controle)
    Precisei duplicar o código em dois formulários. Se você conseguir fazer diferente compartilhe comigo ok ?

    Código:

    Private Sub Form_Load()

    lngProcesso = CLng(Nz(TempVars!processoatual))
    If lngProcesso > 0 Then
        strSQL = "SELECT CadastroProcessual.*  FROM CadastroProcessual WHERE (((CadastroProcessual.CodProcesso)=" & _
        lngProcesso & "));"
        Set Me.Recordset = CurrentDb.OpenRecordset(strSQL)
    End If

    End Sub

    Código no formulário 3

    Código:

    Private Sub Form_AfterInsert()
    ArmazenarRegistroAtual
    End Sub

    Private Sub Form_Current()
    ArmazenarRegistroAtual
    End Sub

    Private Sub ArmazenarRegistroAtual()

    intProcesso = Nz(Me.CodProcesso.Value)
    TempVars.Add "processoatual", intProcesso

    End Sub

    Private Sub Form_Load()

    Dim intProcesso As Long

    intProcesso = CLng(Nz(TempVars!processoatual))

    If intProcesso > 0 Then
        Me.Recordset.FindFirst "[CodProcesso]=" & intProcesso
    End If

    End Sub
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 20/3/2016, 14:56

    Bom dia
    A opção do from navegação ocorre pela praticidade de se poder colocar varios fomrs isolados dentro de um mesmo assunto.
    Ex:
    assunto 1) cadastro processo
    telas   cadastro, honorários, prazos, etc.
    assunto 2 exame físico
    tela mão esquerda com exame, imagem, manobras etc.....

    Assim poderia separar as telas por assunto e usar as abas verticais que esse form disponibiliza.

    Mas a dificuldade esta em como registrar esses dados.
    sua ideia da aplicação ficou boa.
    Tentei modificar um pouco.
    Coloquei o código processo invisível no form principal e os códigos das aplicações no form principal.
    adicionei os botões e...
    nada.
    kkkkk

    O que vc acha?

    Outra forma e pensar em outra forma de apresentação das telas.  



    https://www.dropbox.com/s/l7tcyvljcima9c9/Teste%203%20form%20-%20C%C3%B3pia.accdb?dl=0
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 21/3/2016, 19:57

    Obrigado a todos pela ajuda.
    Mudei os planos sobre os forms.
    Gde abs
    studioaccess
    studioaccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 19/03/2016

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  studioaccess 22/3/2016, 21:58

    Mylton, desculpe a demora

    Só para registro
    Uma outra alternativa que utiliza menos código seria utilizar subformulários conforme as alterações que realizei neste arquivo

    https://onedrive.live.com/redir?resid=21F4F05D8915E332!4875&authkey=!AAs9P3-pNQomnk8&ithint=file%2caccdb

    Neste caso, seria necessário ligar a tabela ao formulário "principal" e colocar os controles nele

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Sbsqpv

    Para alternar entre os formulários é necessário alterar o objeto ligado ao subformulário usando o código abaixo

    Código:

    SubFormulario.SourceObject = "NomeFormulario"

    Além disso é necessário criar o vínculo entre o formulário principal e os formulários, que serão exibidos no objeto subformulário, através de um campo em comum. Neste caso usei o campo [CodProcesso]  

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? X2lxes

    Uma medida que precisei tomar com relação ao subformulário foi garantir que o campo mestre sempre tenha um valor porque quando é inserido um novo registro o campo [CodProcesso] por ser autonumeração sempre começa como nulo até que seja preenchido algum valor em outro campo
    Por isso, utilizei o código abaixo para garantir que o subformulário só esteja ativo caso o campo [CodProcesso] tenha sido preenchido

    Código:

    Private Sub Form_Current()
    DefinirAtivacaoSubForm
    End Sub

    Private Sub DefinirAtivacaoSubForm()

    If IsNull(Me.CodProcesso.Value) Then
        Me.SubFormulario.Enabled = False
    Else
        Me.SubFormulario.Enabled = True
    End If

    End Sub

    Ivan
    Mylton
    Mylton
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1042
    Registrado : 23/08/2010

    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Mylton 22/3/2016, 23:32

    Meu amigo.
    Muito obrigado pela ajuda e consideração.
    Quando chegar em casa, amanhã, estou de plantão, vejo.
    Gde abs

    Conteúdo patrocinado


    [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem? Empty Re: [Resolvido]Qual codigo vba para que os dados de tabela colocados em formulários diferentes funcionem?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 14:20