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

2 participantes

    [Resolvido]Capturar Dados de campo

    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 277
    Registrado : 19/08/2010

    [Resolvido]Capturar Dados de campo Empty [Resolvido]Capturar Dados de campo

    Mensagem  marcelo3092 16/4/2022, 01:28

    Boa noite pessoal estou com um problema que ja pesquisei e não achei nada se alguem pude ajudar agradeço.
    a questao é que, eu tenho um Subformulário tipo folha de dados, e o que queria e ao clicar no campo capturar o valor do campo numa variavel para ser usado em uma função. Ex:
    Coluna1 coluna2 coluna3
    linha1
    linha2

    ao clicar ele captura consegui a função para capturar o nome do campo e precisava num evento tipo ao clicar.

    Dim frm As Form
    Dim ctl As control
    Set frm = Me.Form

    MsgBox frm.ActiveControl.Name 'Este comando lhe mostrará o nome do controle.

    Set frm = Nothing

    achei aqui no forum porem precisava capturar tambem o valor do campo.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  DamascenoJr. 16/4/2022, 02:01

    MsgBox frm.ActiveControl.Value


    .................................................................................
    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.
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 277
    Registrado : 19/08/2010

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  marcelo3092 16/4/2022, 18:46

    Grande Damasceno boa deixa eu complica mais um pouco talvez possa me ajudar, tenho uma lista de relatórios tipo tem varias OS na lista e o campo que e usado para carrega no formulário e somente o id_os porem gostaria que mesmo que o cliente clica na linha em qualquer no ele capturar somente o valor do campo id_os tipo

    id_os   id_cliente cliente data_os  ,ou seja clica em qualquer campo da linha ele pegar somente o valor id_os seria possível.
    que dai não precisaria colocar o codigo em todos os campos. ficaria uma forma generica.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  DamascenoJr. 16/4/2022, 21:06

    msgbox Screen.ActiveForm!NomeControleSubFormNoFormPai!id_os.Value

    ou simplesmente

    msgbox me!id_os.value


    .................................................................................
    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.
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 277
    Registrado : 19/08/2010

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  marcelo3092 17/4/2022, 17:00

    Bom dia Damasceno blz funciona mesmo independente da linha que clica porem meu problema e que queria que ao clicar duas vezes em qualquer coluna da linha ele executar o codigo para abrir o formulario entende

    tenho uma variavel global para pegar o valor do id_os
    vgIdOs = Me.id_os

    e ai o duplo click ele chama essa função
    Private Sub Carrega_OS()
    If vgIdOs = "" Then
    MsgBox "Nenhuma OS Selecionada.", vbCritical, Titulo
    Exit Sub
    Else

       DoEvents
       DoCmd.Hourglass True

       DoEvents
       DoCmd.OpenForm "Frm_OS", acNormal, "", "", , acHidden
       DoEvents
       Forms![Frm_OS].Carrega_OS
       DoEvents
       Forms![Frm_OS].Consulta_Veiculos
       DoEvents
       Forms![Frm_OS].Carrega_Produto
       DoEvents
       Forms![Frm_OS].Carrega_Servicos

       
       'Forms![Frm_Cliente].CarregaVagas

       DoCmd.Close acForm, "Frm_OS_Lista"
       DoCmd.Hourglass False
       DoEvents
       DoCmd.OpenForm "Frm_OS", acNormal, "", "", , acNormal

       End If
    End Sub

    porem ai que ta queria que ficasse de forma generica pois, ate tem um jeito porem vc tem que colocar a chamada da função em todos os campos teria um jeito melhor de fazer o duplo click no detalhe do formulario ou algo parecido.

    Até te mandaria o projeto porem eu to criando ele pra trabalha com mysql online pois depois vou fazer um sistema em PHP para fazer a entrada do carro através de tablet ou celular para poder registra fotos tambem ai to rodando servidor local pelo xampp.

    Desde já agradeço a ajuda. se for possivel ficaria melhor mais se não tiver jeito eu coloco a chamada da função nos campos.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  DamascenoJr. 17/4/2022, 17:53

    Tem que ir de campo em campo, se não quer ir manualmente, sem problemas, isso pode ser automatizado, conforme abaixo
    Código:
    Public Sub fncCriaEvento(ByRef frm As Form)

        Dim ctl As Control
       
        For Each ctl In frm.Controls
           
            Select Case ctl.ControlType
           
                Case acTextBox ',acComboBox
           
                    If ctl.OnClick = "" Then ctl.OnClick = "=fncFazAlgumaCoisa([cpId])"
           
            End Select
           
        Next ctl

    End Sub

    Depois basta ter a função que será chamada
    Código:
    Public Function fncFazAlgumaCoisa(ByVal ctlID)

        MsgBox ctlID.Value

    End Function

    E no evento "Ao carregar" do subformulário ter a chamada para a função que vai de campo em campo montando os eventos de clique
    Código:
    Call fncCriaEvento(Me)


    .................................................................................
    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.
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 277
    Registrado : 19/08/2010

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  marcelo3092 21/4/2022, 00:51

    Obrigado Damasceno fiz umas alterações mais funcionou como esperado fico show.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Capturar Dados de campo Empty Re: [Resolvido]Capturar Dados de campo

    Mensagem  DamascenoJr. 21/4/2022, 00:53

    O fórum agradece o retorno. Sucesso.


    .................................................................................
    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.

      Data/hora atual: 6/10/2022, 07:43