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]Alterar origem da linha de cx comb. com tipos de dados diferente

    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 287
    Registrado : 14/03/2011

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  Ronaldo Costa 24/2/2016, 02:09

    Olá pessoal!

    Tenho num form uma caixa de opção "qdoOpcao", onde posso escolhe entre os valores: 1, 2 e 3. Dependendo do valor que eu escolher a origem da linha de uma caixa de combinação chamada "txtLista" será mudada.
    Cada opção me mostrará tipos de dados diferente: número, texto e data, respectivamente.

    O que está acontecendo é que quando escolho a opção 1 (texto) ou a opção 3 (data), mesmo minha caixa de combinação sendo não acoplada, o access retorna uma mensagem que o valor que estou inserindo não é válido para este compo.

    como resolvo isso?

    grato
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  philipp.moreira 24/2/2016, 02:29

    Ronaldo, poderia postar seu BD para que possamos tentar ajudar?
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 287
    Registrado : 14/03/2011

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  Ronaldo Costa 24/2/2016, 03:08

    Segue...

    https://www.dropbox.com/s/xzsmdajdykrujtn/BDMaximo.accdb?dl=1
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  philipp.moreira 24/2/2016, 04:42

    Ronaldo,
    o que consegui identificar é que no momento que se passa uma consulta para fonte de controle da combobox, implicitamente ele cria um tipo para a informação. Por exemplo, nas opções 1 e 2 e deveria estar setando com tipo numérico e ao selecionar a opção 3 ele carregava informações do tipo date, porém, o recordset que deve ser montado por trás, estava com tipo número.

    Para resolver da minha forma, as consultas que estavam diretamente no código, eu transformei em objetos e no código executo um Select nelas, porém, usando a função CStr() para transformar tudo em texto.

    1- As consultas retornavam, vários campos, e dei um enxugada.
    2 - a consulta relacionada a opção 2, estava trazendo datas repetidas, assim, dei um distinct para restringir a lista.


    Segue anexo, da uma olhada e veja o que acha.

    Aos amigos, quem puder dar uma solução mais limpa, por que acho que o que fiz foi gambiarra e deve haver uma forma mais elegante de se resolver esta situação.

    Wink

    PS.: Salvei a BD com outro nome para não sobrepror sua versão.
    Anexos
    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente AttachmentBDMaximo_new.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (67 Kb) Baixado 7 vez(es)
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 287
    Registrado : 14/03/2011

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  Ronaldo Costa 24/2/2016, 13:12

    Estamos evoluindo meu amigo, mas veja mais (note algumas alterações).

    Veja, consegui algum progresso, mas falta algumas coisas que preciso.

    O dados para as três opções estão baseados em 3 consultas; cada uma tem 2 colunas.
    Preciso que:
    1) a opção 1 retorne para mim as informações da cs1 de forma que visualize apenas a coluna "descSérie" e a coluna "idSérie", que é a coluna acoplada, deverá estar oculta, pois ela servirá de critério para filtra um subForm.

    2) a opção 2 retorne para mim as informações da cs2 de forma que visualize apenas a coluna "nomeMês" e a coluna "MêsReferência", que é a coluna acoplada, deverá estar oculta, pois ela servirá de critério para filtra um subForm.

    3) a opção 3 retorne para mim as informações da cs3 de forma que visualize apenas a coluna "dataPagto".


    https://www.dropbox.com/s/k1cznaeue874zsp/BDMaximo_new.rar?dl=1
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 287
    Registrado : 14/03/2011

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  Ronaldo Costa 25/2/2016, 11:46

    Estou fazendo uma mudança em relação ao que já foi exposto anteriormente...

    No meu form "formPai" tenho um controle subformulário/sub-relatório chamado "formFilho" e um grupo de opções "qdoOpçoes" onde escolho entre 3 opções: 1, 2, 3.

    Tenho no meu BD 3 forms que devem alternar no meu 'formFilho' quando faço uma escolha no controle 'qdoOpçoes'. os forms são: sub1, sub2 e sub3.
    Sei (ou acho que sei) que o que se deve alterar pelo VBA é a propriedade Origem do Objeto, mas estou errando em alguma coisa que não consigo detectar.

    Então, o que desejo é que:

    1) a opção 1 mostre no controle 'formFilho' o sub1.

    2) a opção 2 mostre no controle 'formFilho' o sub2.

    3) a opção 3 mostre no controle 'formFilho' o sub3.

    Vejam o código que estou usando

    Private Sub qdoOpcao_AfterUpdate()
    Dim subForm1 As Form
    Dim subForm2 As Form
    Dim subForm3 As Form

    Set subForm1 = Forms!sub1
    Set subForm2 = Forms!sub2
    Set subForm3 = Forms!sub3

    If Me.qdoOpcao = 1 Then
         Me!subFilho.SourceObject = subForm1
    ElseIf Me.qdoOpcao = 2 Then
         Me!subFilho.SourceObject = subForm2
    Else
         Me!subFilho.SourceObject = subForm1
    End If
    End Sub

    aguardo
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  philipp.moreira 28/2/2016, 01:12

    tente utilizar o evento Click ao invés do after update.
    Ronaldo Costa
    Ronaldo Costa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 287
    Registrado : 14/03/2011

    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  Ronaldo Costa 28/2/2016, 11:34

    meu amigo, consegui resolver apenas colocando aspas nos nomes dos subForms no laço if.

    Obrigado por tudo.

    Conteúdo patrocinado


    [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente Empty Re: [Resolvido]Alterar origem da linha de cx comb. com tipos de dados diferente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 06:37