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]Capturar valor de uma caixa de listagem baseado na tabela

    avatar
    Alexan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 08/02/2011

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Alexan 10/12/2022, 03:21

    Galera, boa noite!
    Sabe aquela que a gente escolhe um campo da tabela, clica na parte inferior, na aba "pesquisa", criamos uma caixa de listagem com uma determinada lista de valores?
    Então, eu fiz isso, só que estou com um problema para capturar o valor que o usuário selecionou.
    Por exemplo: eu criei uma multi seleção, daí eu fiz com que apareca num formulário. Até aí, tudo bem, só que a cada registro eu preciso saber qual valor o usuário selecionou. então criei um recordset que percorre do inicio ao fim para ler registro a registro, porém, se eu colocar:
    "ds!NomeDoCampoQueTemCxDeListagem", e perguntar se é nulo (isnull(no do campo)), se o usuário não marcar nada dá certo, porém, se em algum registro ele marcou alguma coisa e em outro não, informa que não é nulo (e eu sei que em algum registro o usuário não marcou nada), mas não consigo captura o valor. Se eu colocar debug.print ds!nome do campo, dá um erro tipos incompatíveis.
    Alguem pode me ajudar, estou quebrando a cabeça a horas e sem sucesso!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Re: [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Alvaro Teixeira 11/12/2022, 14:56

    Olá Edson,

    Tente usar da forma abaixo, verificando se o tamanho é diferente de 0, algo assim:
    Código:
    len(ds!NomeDoCampoQueTemCxDeListagem &"") <> 0

    A concatenação é para quando for null não dar erro, teste.

    Abraço
    avatar
    Alexan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 08/02/2011

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Alexan 25/8/2023, 19:02

    Alvaro meu amigo, desculpe a demora.
    Mais, infelizmente, não funcionou
    deu "Tipos incompatíveis" erro 13

    Outra coisa, eu queria também capturar o valor, caso o usuário selecionou algum item
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Re: [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Alvaro Teixeira 29/8/2023, 09:12

    Olá Edson,

    Talvez seja melhor partilhar base de dados com a parte envolvida na questão de forma a podermos testar.

    Abraço
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Re: [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  JPaulo 29/8/2023, 12:43

    Se usar a função interna NZ para tratamento dos nulos, não resolve ?

    Código:
    Nz(NomeDoCampoQueTemCxDeListagem,"")

    Ou se nulo devolver um zero ?

    Código:
    Nz(NomeDoCampoQueTemCxDeListagem,0)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Folder_announce_new Instruções SQL como utilizar...
    avatar
    Alexan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 08/02/2011

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Re: [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Alexan 7/9/2023, 20:13

    Pessoal, criei um banco simples, como exemplo, com uma tabela e um campo.
    a pergunta é: como capturar o valor deste campo, ou seja o que o usuário marcou, em um formulário ou um recordset?
    avatar
    Alexan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 08/02/2011

    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Re: [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Alexan 19/10/2023, 20:07

    Galera, consegui,
    Pra quem interessar, segue o código

    Capturar o(s) valor(es) de um campo, listbox, multiseleção de uma tabela

    Chama-se, como campo multivalorado ou campo de múltiplos valores
    Option Compare Database
    Option Explicit
    Sub Campo_Multivalorado()
      Dim Ds As Recordset
      Dim CampoFilho As Recordset
       
      'Abre um Recordset para a tabela Tb_Teste.
      Set Ds = CurrentDb.OpenRecordset("Tb_Teste")
      Ds.MoveFirst
       
      Do Until Ds.EOF
         'Abre um conjunto de registros para o campo de valores múltiplos.
         Set CampoFilho = Ds!teste.Value

            'Sai do loop se o campo com vários valores não contiver registros.
            Do Until CampoFilho.EOF
                CampoFilho.MoveFirst
                       
                'Percorre os registros no conjunto de registros filho.
                Do Until CampoFilho.EOF
                     'Imprime o(s) valores
                    Debug.Print CampoFilho!Value.Value
                    CampoFilho.MoveNext
                Loop
            Loop
         Ds.MoveNext
      Loop
    End Sub

    Fonte: learn.microsoft.com/pt-br/office/vba/access/concepts/data-access-objects/manipulate-multivalued-fields-with-dao

    Conteúdo patrocinado


    [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela Empty Re: [Resolvido]Capturar valor de uma caixa de listagem baseado na tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 03:03