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]Recuperar número da coluna de um registro

    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Recuperar número da coluna de um registro

    Mensagem  nilopozza Ter 11 Out 2011, 11:35

    Bom dia.

    Sou novato em VBA mas tenho necessidade e boa vontade para aprender.
    Utilizo um BD no MS Access 2007 em que preciso recuperar o número da coluna de um determinado registro.
    Exemplo: tenho uma consulta seleção que me retorna Matrícula, Nome, Data de Exercício, Avaliação 1, Avaliação 2, Avaliação n.
    Preciso criar uma Função em VBA que permita retornar (em outra consulta) o número da coluna Avaliação 1 (por exemplo).
    Abaixo segue minha tentativa frustrada:

    Option Compare Database
    Option Explicit

    Public Function Coluna(campo As String) As Double

    Dim Ncol As Double

    '??? o que devo informar para obter o valor desejado?

    Ncol = ???.Column(0, 0)

    Coluna = Ncol

    End Function


    Desculpem pela ignorância.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3873
    Registrado : 21/04/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  Marcelo David Ter 11 Out 2011, 12:35

    Bem vindo!!
    Não seriamelhor melhor criar algum critério na consulta para filtrar apenas o que você deseja?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Recuperar número da coluna de um registro Marcel11
    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  nilopozza Ter 11 Out 2011, 16:01

    Obrigado, Marcelo David pela sugestão.

    O problema é mais complexo do que parece. Tudo parte de uma Tabela em que utilizo a Data de Exercício para calcular as datas de avaliação (de Avaliação 1 até Avaliação 16). O Módulo que efetua o cálculo retorna 16 colunas, uma para cada avaliação. Entretanto, o que preciso é colocar todas essas avaliações em uma única coluna, repetindo a matrícula e o nome das pessoas, para cada data. Preciso, ainda, identificar a qual avaliação se refere cada uma dessas datas. Daí surgiu a idéia de utilizar o número da coluna.

    Eu havia copiado de um outro tópico a parte de um código do qual entendi que ele retornaria o título da coluna, porém, percebi que para isso teria que gerar uma list, ou seja, necessita de um código mais elaborado.

    Consegui resolver o problema criando uma consulta união, na qual adicionei outro campo, com valor fixo para cada uma das avaliações.

    Tal consulta atendeu à minha necessidade.

    Mesmo assim, agradeço pela agilidade na resposta e pela disposição em ajudar.

    Nilo Pozza.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  Alexandre Neves Ter 11 Out 2011, 16:33

    Boa noite, nilo, e bem-vindo ao fórum

    Vou jantar e, depois, far-lhe-ei uma função
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  Alexandre Neves Ter 11 Out 2011, 17:16

    Utilize esta função

    Function Coluna(NomeCampo As String) As Integer
    'criada por Alexandre Neves
    'em 2011-10-11
    'para nilopozza
    'do fórum MaximoAccess
    Dim I As Integer

    I = 0
    Do
    If CurrentDb.TableDefs(NomeTabela).Fields(I).Name = NomeCampo Then
    Coluna = I + 1
    Exit Do
    End If
    I = I + 1
    Loop
    End Function
    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  nilopozza Qua 12 Out 2011, 09:18

    Obrigado, Alexandre Neves, pelo empenho.

    Somente amanhã poderei testar o código.

    Vou fazê-lo e posto o resultado.

    Muito obrigado.

    Nilo Pozza.
    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  nilopozza Qui 13 Out 2011, 08:36

    Olá, Alexandre Neves.

    Testei o código, mas infelizmente retorna erro (Item não encontrado nesta coleção).

    Obviamente como sou novato em VBA, não sei como devo proceder.

    Anexo segue a captura das telas de erro.

    Obrigado,

    Nilo Pozza.
    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  nilopozza Qui 13 Out 2011, 08:49

    Segue a tela 2, com a linha do código destacada.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  Alexandre Neves Qui 13 Out 2011, 14:07

    nilo,

    Forneceu poucas informações.
    Como se chama o campo?
    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  nilopozza Qui 13 Out 2011, 16:39

    Olá, Alexandre.

    O nome do campo é Dt Exerc. Entretanto, como o módulo é uma função, configurei a consulta
    da seguinte forma (em SQL):

    SELECT [Data Exercício].Siape, [Data Exercício].Nome, [Data Exercício].[Dt Exerc], Coluna([Dt Exerc]) AS Col
    FROM [Data Exercício];

    Ao executar a consulta, retorna o erro mencionado.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  Alexandre Neves Qui 13 Out 2011, 17:21

    nilo,
    São os nomes dos campos com espaço.
    veja se funciona com este código

    Function Coluna(NomeTabela As String, NomeCampo As String) As Integer
    'criada por Alexandre Neves
    'em 2011-10-11
    'para nilopozza
    'do fórum MaximoAccess
    Dim I As Integer
    If Left(NomeCampo, 1) = "[" Then NomeCampo = Mid(NomeCampo, 2, Len(NomeCampo) - 2)

    I = 0
    Do
    If CurrentDb.TableDefs(NomeTabela).Fields(I).Name = NomeCampo Then
    Coluna = I + 1
    Exit Do
    End If
    I = I + 1
    Loop
    End Function
    nilopozza
    nilopozza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 13
    Registrado : 10/10/2011

    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  nilopozza Sex 14 Out 2011, 16:28

    Olá, Alexandre.

    Funcionou perfeito.

    Muito obrigado, valeu pelo esforço.

    Abraço,

    Nilo Pozza

    Conteúdo patrocinado


    [Resolvido]Recuperar número da coluna de um registro Empty Re: [Resolvido]Recuperar número da coluna de um registro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qua 08 maio 2024, 14:24