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]Duvida com VBA

    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty [Resolvido]Duvida com VBA

    Mensagem  Mylton 25/10/2022, 13:39

    Bom dia
    Como conseguiria transmitir as informações de um campo TxtOrigem do FormOrigem para FormExportada campo TxtExportada, sem precisar abrir o FormExportada.
    Tentei essa codificacao e nao foi.

    Private Sub BtSalvar_Click()
    'DoCmd.OpenForm "formExportada", acNormal
    'Forms![FormOrigem].TxtOrigem = Me.TxtExportada
    'Forms![FormExportada].TxtExportada = Me.TxtOrigem
    Forms![FormExportada].TxtExportada = Forms![FormOrigem].TxtOrigem

    End Sub


    Obrigado
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 332
    Registrado : 17/09/2010

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Pablo Neruda 25/10/2022, 13:53

    bom dia!

    Para efetuar a troca de informação entre formulários de algum modo ambos precisam estar abertos. Sem formulário aberto não há controle para referência, pode explicar melhor o que precisa / pretende?


    .................................................................................
    [Resolvido]Duvida com VBA Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 25/10/2022, 14:38

    Oi
    Pablo
    Pretendo ter um form com informações já precadastradas nesse campo.
    De modo quando abrir o outro form posso manter essas informações já pré cadastradas ou modifica-las nesse momento.
    A ideia é essa.
    E como o texto pode ser longo pensei nesse caminho.


    Última edição por Mylton em 26/10/2022, 13:00, editado 1 vez(es)
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 332
    Registrado : 17/09/2010

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Pablo Neruda 25/10/2022, 14:51

    Não é possível "enviar" a informação de um para outro e sim "buscar" a informação de um para outro.

    Outra ideia é a criação de uma variável global em um módulo, onde essa variável pode ser utilizada por ambos formulários.

    Tente isso:

    No formulário origem você faz assim:  

    Private Sub BtSalvar_Click()

    DoCmd.OpenForm "formExportada", acNormal

    End Sub

    '----------------

    No formulário destino você faz assim:

    Private Sub Form_Load()

    Me.TxtExportada = Forms![FormOrigem].TxtOrigem

    End Sub

    Se não der certo no load muda para o

    Private Sub Form_Open()


    .................................................................................
    [Resolvido]Duvida com VBA Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 25/10/2022, 15:24

    Ok
    Dx chegar do trabalho q testo.
    E respondo
    Obrigado
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 26/10/2022, 00:34

    Oi Pablo
    Funcionou.
    Tentei nao abrir o form origem e nao foi.
    Se criasse uma consulta e essa consulta alimentasse o form exportador fucnionaria sem abrir o form origem...


    Última edição por Mylton em 26/10/2022, 13:00, editado 1 vez(es)
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 26/10/2022, 11:05

    Como poderia utilizar a função Dlookup nesta questão?
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 332
    Registrado : 17/09/2010

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Pablo Neruda 26/10/2022, 13:56

    Se você não abrir o form de origem de onde virá a informação indice para sua pesquisa, ou seja, como passará essa informação (Forms![FormOrigem].TxtOrigem)?

    Tanto com a criação de uma consulta, como o dlookup será necessária essa informação...

    Pensa ai e me fala...


    .................................................................................
    [Resolvido]Duvida com VBA Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 26/10/2022, 14:24

    Pelo q li
    O uso da dlookup seria


    Me.txtExportada= DLookup("TxtOrigem", "tabelaExposrtada" = '" & Forms!FormOrigem!””)

    Oi teria que acrescentar o campo id?

    Como tô no trabalho só vou testar a noite.

    Mas daria certo?
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 27/10/2022, 01:58

    Tentei tambem criar uma expressao, mas nao foi.

    Torna-se inviavel, na minha ideia, ter que abrir o formOrigem, pois este apenas serviria para se criar um mdelo de informacao, onde esta informacao seria usada no outro form, podendo ser alterada ou nao e depois salva.

    Vou buscar mais.
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 332
    Registrado : 17/09/2010

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Pablo Neruda 27/10/2022, 13:37

    Bom dia!

    Tenho consultas onde utilizo um formulário básico, é informado o indice da pesquisa. Após se clicar no botão para pesquisa, abre-se o formulário principal com todas as informações fechando o anterior. Não seria funcional dessa forma?

    [Resolvido]Duvida com VBA Captur12


    .................................................................................
    [Resolvido]Duvida com VBA Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 27/10/2022, 14:44

    Oi
    Pablo
    Nos médicos durante uma anamnese ouvimos a fala das pessoas e anotamos.
    De certa forma com o passar dos anos adotamos um “modelo” do que escrevemos, modificando o necessário é claro.
    A ideia seria que esse modelo na hora que abrisse o form exportador aparecesse o que escrevemos no outro form. Sem que o form original se abra.
    Assim se desejar modificar o modelo vou lá no original e faço.

    A sua sugestão é válida.
    Já foi utilizada no restante do APP no prosseguimento do form exportador.

    Tô lendo, tentando entre um trabalho e outro.

    Obrigado mais uma vez.
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 28/10/2022, 15:09

    Bom dia

    Estudando verifiquei, pelo menos acho, que possa existir um caminho dessa necessidade de exportar essa informação com o form original fechado.

    Li sobre as propriedades do recordSet.

    Se utilizar o método getString do Recordset do ADO consigo transferir registro ou consulta para um arquivo txt.
    Me parece que a codificação seria esta

    Dim conexao As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSql as String
    '-------------------------------------------------
    'Conexão com banco de dados corrente, utilizando o ADO
    '-------------------------------------------------
    Set conexao = CurrentProject.Connection
    '-------------------------------------------
    'Monta consulta com os campos desejados
    '-------------------------------------------
    strSql = "SELECT NomedoCampo, Contato FROM suaTabela ORDER BY NomedoCampo;"
    '-----------------------------
    'Abre o Recordset da consulta
    '-----------------------------
    rs.Open strSql, conexao
    '--------------------
    'Cria o arquivo txt
    '--------------------
    Open "c:\MinhaPasta\MeuArquivo.txt" For Output As #1
       '-------------------------------------------
       'Copia todo o Recordset para o arquivo txt
       '-------------------------------------------
       Print #1, rs.GetString(adClipString, , "|", vbCrLf)
    Close #1
    '-----------
    'Fecha tudo
    '-----------
    rs.Close
    Set rs = Nothing
    Set conexao = Nothing



    Então pensei…..
    se utilizasse esse mesmo raciocínio para transferir a informação do campo Longo para o outro form (não aberto) como codificaria a partir daqui

    '-----------------------------
    rs.Open strSql, conexao
    '--------------------


    Até a codificação de fechar e encerrar.

    Obrigado
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2766
    Registrado : 13/12/2016

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Alexandre Fim 28/10/2022, 16:06

    Vc pode utilizar variáveis globais para carregar os dados que pretende sem precisar abrir o form1 e preencher os campos do form2.

    Quais os campos da tabela/consulta que vc precisa carregar no form2?

    Pra cada campo, vc pode criar uma variavel global que vai receber o valor do campo da tabela/consulta, atraves de instrução SQL e carregando recordset, e por ser global, vc pode utilizar em todo o sistema.


    Tente isso.

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Duvida com VBA Setinf11
    Sistemas e Tecnologia Ltda
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 28/10/2022, 17:13

    Oi
    Alexandre
    Vou estudar
    Na dúvida retorno
    Obrigado mais uma vez
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2766
    Registrado : 13/12/2016

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Alexandre Fim 28/10/2022, 17:28

    Mylton,

    Tente isso.

    Em um módulo qualquer, declare as seguintes variáveis globais:
    Código:


    Global vgCampo1 As Variant
    Global vgCampo2 As Variant
    Global vgCampo3 As Variant
    Global vgCampo4 As Variant
    Global vgCampo5 As Variant


    E no mesmo módulo, copie e cole a função abaixo:

    Código:


    Public Function fnCarregaDados(nParam As Variant)
    Dim rs          As DAO.Recordset
    Dim sSQL        As String

        sSQL = "SELECT Campo1, Campo2, Campo3, Campo4, Campo5 FROM suaTabela "
        sSQL = sSQL & " WHERE Campo_a_ser_pesquisado = '" & nParam & "' "

        Set rs = CurrentDb.OpenRecordset(sSQL)
       
        If Not rs.EOF Then
            vgCampo1 = rs("Campo1").Value
            vgCampo2 = rs("Campo2").Value
            vgCampo3 = rs("Campo3").Value
            vgCampo4 = rs("Campo4").Value
            vgCampo5 = rs("Campo5").Value
        Else
            vgCampo1 = Empty
            vgCampo2 = Empty
            vgCampo3 = Empty
            vgCampo4 = Empty
            vgCampo5 = Empty
        End If
       
        rs.Close
        Set rs = Nothing
       
        Exit Function

    trata_erro:
        MsgBox "Erro ocorrido: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Function

    End Function



    Quando for abrir o formulário desejado, é necessário que vc tem o parametro (código ou ID) para carregar a função:

    Código:


    Call fnCarregaDados([INFORME_O COD_A_SER_PERQUISADO])


    Desta forma, as globais serão carregadas e pode utilizá-las em todo o sistema.

    Espero ter ajudado.

    Att,

    Alexandre Fim



    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Duvida com VBA Setinf11
    Sistemas e Tecnologia Ltda
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 28/10/2022, 21:12

    Oi Alexandre
    Dx chegar em casa do trabalho que vejo e informo.
    Obrigado
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 30/10/2022, 14:53

    Bom domingo

    Desculpe a demora, mas tava enrolado na profissão.


    da erro n. 3141
    onde diz que a instrução select esta usando palavra reservada ou nome de argumento errado ou falta de pontuação incorreta.


    Set rs = CurrentDb.OpenRecordset(sSQL)

    Anexei para que possa ver.

    Mas ao prosseguir busca a informação no form HDA.


    Obrigado
    Anexos
    [Resolvido]Duvida com VBA AttachmentTeste V1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (69 Kb) Baixado 5 vez(es)
    avatar
    Zeferina Baptista
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 4
    Registrado : 30/10/2022

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Zeferina Baptista 30/10/2022, 21:05

    Olá pessoal sou nova não sei bem como funciona o site e também sou nova em vba e eu estou precisando de ajuda
    avatar
    Zeferina Baptista
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 4
    Registrado : 30/10/2022

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Zeferina Baptista 30/10/2022, 21:07

    Tenho um um combobox com designação das fábricas eu quero que ao clicar no nome da fábrica em uma outra combobox apareçam prodrutos só daquela fábrica
    avatar
    Zeferina Baptista
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 4
    Registrado : 30/10/2022

    [Resolvido]Duvida com VBA Empty Duvida

    Mensagem  Zeferina Baptista 30/10/2022, 21:46

    Como faço para filtrar que quando eu clicar em um fábrica me apareçam em outra combo só os produtos daquela loja
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2766
    Registrado : 13/12/2016

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Alexandre Fim 30/10/2022, 23:29

    Olá Zeferina,

    Você precisa abrir um tópico com sua dúvida, pois vc estava tirando dúvidas em outro tópico.
    Abra o tópico e compartilhe uma cópia do seu banco de dados para análise e solução do problema.

    Obrigado.

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Duvida com VBA Setinf11
    Sistemas e Tecnologia Ltda

    Zeferina Baptista gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2766
    Registrado : 13/12/2016

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Alexandre Fim 30/10/2022, 23:31

    Olá Mylton,

    A instrução estava incorreta e as atribuições de variáveis globais também.
    Havia uma vírgula antes do FROM.

    Segue código:

    Código:


    Public Function fnCarregaDados(nParam As Variant)
    Dim rs          As DAO.Recordset
    Dim sSQL        As String

        sSQL = "SELECT IdAnamnese, QP, HDA FROM TblAnamnese "
        sSQL = sSQL & " WHERE HDA = '" & nParam & "'"

        Set rs = CurrentDb.OpenRecordset(sSQL)
       
        If Not rs.EOF Then
            vgIdAnamnese = rs("IdAnamnese").Value
            vgQP = rs("QP").Value
            vgHDA = rs("HDA").Value
        '  vgCampo4 = rs("Campo4").Value
        '  vgCampo5 = rs("Campo5").Value
        Else
            vgIdAnamnese = Empty
            vgQP = Empty
            vgHDA = Empty
        '    vgCampo4 = Empty
        '    vgCampo5 = Empty
        End If
       
        rs.Close
        Set rs = Nothing
       
        Exit Function

    trata_erro:
        MsgBox "Erro ocorrido: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Function

    End Function

    É isso

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Duvida com VBA Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Zeferina Baptista
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 4
    Registrado : 30/10/2022

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Zeferina Baptista 31/10/2022, 00:51

    Não estou conseguindo abrir um tópico e vou já a ceder apartir do pc e partilho aqui.
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 31/10/2022, 11:26

    Bom dia

    Apenas um detalhe
    Porque o texto aparece no campo QP...
    Como fazer para aparecer no campo HDA


    Obrigado.
    Mylton
    Mylton
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Duvida com VBA Empty Re: [Resolvido]Duvida com VBA

    Mensagem  Mylton 2/11/2022, 17:36

    Vou encerrar.

    Obrigado a todos que ajudaram.

      Data/hora atual: 1/2/2023, 06:29