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]Ajuda com código

    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty [Resolvido]Ajuda com código

    Mensagem  RAprendiz 16/6/2014, 20:43

    Alguem pode me dizer o que está de errado neste código?

    Código:
    Private Sub cboOrdenar_AfterUpdate()
    If cboOrdenar = Código Then
             Me!SubProdutos.Form.OrderBy = [Código]
             Me!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar = Referência Then
             Me!SubProdutos.Form.OrderBy = [Referência]
             Me!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar = Descrição Then
             Me!SubProdutos.Form.OrderBy = [Descrição do Produto]
             Me!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar = Unidade Then
             Me!SubProdutos.Form.OrderBy = [Unidade]
             Me!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar = Marca Then
             Me!SubProdutos.Form.OrderBy = [Marca]
             Me!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar = Categoria Then
             Me!SubProdutos.Form.OrderBy = [Categoria]
             Me!SubProdutos.Form.OrderByOn = True
    Else
    Refresh
    End If
    End Sub


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Ajuda com código Empty Ajuda com código

    Mensagem  good guy 16/6/2014, 21:44

    Olá RAprendiz,

    Em se tratando de combobox, vc tem que referenciar corretamente o valor da combo desejada pela sua posição na coluna da tabela.

    cboOrdenar.Column(0) em vez de cboOrdenar
    Código:
    If cboOrdenar.Column(0) = Me!Codigo  'Ou Forms!NomedoFormulário!Codigo
    simplesmente




    e por aí vai.
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 17/6/2014, 01:04

    Olá good guy
    Adaptei, fiz o teste e deu certo, mas infelizmente travou apenas no código. Não está organizando pelos outros itens.
    O código ficou assim:
    Código:
    Private Sub cboOrdenar_AfterUpdate()
    If cboOrdenar.Column(0) = Código Then
             Forms!SubProdutos.Form.OrderBy = [Código]
             Forms!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar.Column(0) = Referência Then
             Forms!SubProdutos.Form.OrderBy = [Referência]
             Forms!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar.Column(0) = Descrição Then
             Forms!SubProdutos.Form.OrderBy = [Descrição do Produto]
             Forms!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar.Column(0) = Unidade Then
             Forms!SubProdutos.Form.OrderBy = [Unidade]
             Forms!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar.Column(0) = Marca Then
             Forms!SubProdutos.Form.OrderBy = [Marca]
             Forms!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar.Column(0) = Categoria Then
             Forms!SubProdutos.Form.OrderBy = [Categoria]
             Forms!SubProdutos.Form.OrderByOn = True
    Else
    Refresh
    End If
    End Sub


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Ajuda com código Empty Ajuda com código

    Mensagem  good guy 17/6/2014, 03:41

    Olá RAprendiz,

    Verifique novamente minha instrução.

    Código:
    Private Sub cboOrdenar_AfterUpdate()
    If cboOrdenar.Column(0) = Forms!NomedoFormulário!Código Then
            Forms!SubProdutos.Form.OrderBy = Me!Código
            Forms!SubProdutos.Form.OrderByOn = True
    ElseIf cboOrdenar.Column(0) =  Forms!NomedoFormulário!Referência Then
            Forms!SubProdutos.Form.OrderBy = Me.Referência
            Forms!SubProdutos.Form.OrderByOn = True
    .............................................
    End Sub

    Se encontrar qualquer problema, posta o bd.
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 17/6/2014, 04:30

    Entendi.
    Mas o problema é que a caixa de combinação não está vinculada com nenhum formulário, eu que digitei os valores.
    E seguindo o seu exemplo está retornando um erro:
    "Método ou membro de dados não encontrado"

    Não estou conseguindo enviar o BD pro problemas de velociade da internet


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Ajuda com código Empty Ajuda com código

    Mensagem  good guy 17/6/2014, 15:04

    Olá RAprendiz,

    Neste caso vc tem que criar variáveis de busca na tabela. Para posta o seu bd, coloque apenas as tabelas, consultas e formulários necessários, logo abaixo, Anexar arquivos, Procurar e Enviar Consulta:


    Código:
    Private Sub cboOrdenar_AfterUpdate()
    Dim sCod As Integer
    Dim strNome As String

    strNome = Forms!NomedoSeuForm!Nome    'Exemplo de referência de campo
    sCod = DLookup("Código","TabelaTal","Nome = '" & strNome & "'")

    If cboOrdenar.Column(0) = sCod Then        
    Forms!SubProdutos.Form.OrderBy = sCod
    Forms!SubProdutos.Form.OrderByOn = True

    .............................................
    End Sub
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 17/6/2014, 17:36

    Boa Tarde,
    O problema é que nem dessa maneira vai.
    Minha internet é via wi-fi do celular e meus créditos ja estão no fim.


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 17/6/2014, 17:49

    Olá good guy,
    o problema foi sanado.
    Obrigado pela atenção!


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Ajuda com código Empty Ajuda com código

    Mensagem  good guy 17/6/2014, 20:52

    Olá RAprendiz,

    Como ficou o código final? Posta aí para que os colegas possam aprender também.
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 18/6/2014, 00:40

    Boa noite,
    Infelizmente o código começou a gerar um novo erro.  Neutral 
    estava usando este código:

    Código:
    Private Sub cboOrdenar_AfterUpdate()
    Dim filtro As String
    filtro = "[Descrição do Produto] like '*" & Me!cboOrdenar = Descrição & "*'"
     Me!SubProdutos.Form.OrderBy = filtro
     Me!SubProdutos.Form.OrderByOn = True
    End Sub

    Ele funcionou a principio, mas depois de fechar o formulário e abrir novamente está retornando uma caixa de mensagem, onde tem:
    Falso e depois uma caixa de texto para inserir um parâmetro


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Ajuda com código Empty Ajuda com código

    Mensagem  good guy 18/6/2014, 01:51

    Olá RAprendiz,

    Verifique o campo Descrição, esta caixa se abre quando não encontra uma referência correta ao campo, este no caso. Tente assim:

    Código:
    Private Sub cboOrdenar_AfterUpdate()
    Dim filtro As String

    filtro = "[Descrição do Produto] like '*" & Me!cboOrdenar = Me!Descrição & "*'"
     Me!SubProdutos


    Ou outras formas utilizando variáveis:

    Substitua por uma variável que contenha sua localização correta com a função DLookup.
    Dim strCampoCerto As String
    Dim nCod As Integer
    nCod = Forms!NomedoFormulario!Código

    strCampoCerto = DLookup("Descrição", "TabelaTal", "Código = nCod")


    Seu código aqui ....
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 18/6/2014, 17:32

    Olá good guy,
    Ai é que se encontra o problema, não posso colocar "Me!cboOrdenar = Me!Descrição", pois a opção descrição da caixa não é um campo e sim um valor digitado por mim.
    Outra coisa não estou conseguindo compreender como usar o código via DLookup. Poderia manda com duas opções configuradas? Descrição e Referência por exemplo?

    Grato pela atenção e esforço.


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Ajuda com código Empty Ajuda com código

    Mensagem  good guy 19/6/2014, 14:39

    Olá RAprendiz,

    Nesse caso é preciso fazer alguns testes, tente colocando uma variável se esse valor for se alterar sempre ou se for fixo, coloque entre aspas se for um valor do tipo String e sem aspas se for do tipo Integer.
    Se não der certo, posta o seu bd.
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 20/6/2014, 03:34

    Olá good guy,
    Finalmente consegui, com a ajuda do Noobezinho aqui do fórum!  cheers 
    Obrigado pela ajuda e pelo esforço! O código final ficou assim:

    Código:
    Private Sub cboOrdenar_AfterUpdate()
    Me.SubProdutos.Form.RecordSource = "SELECT CadastroProduto.Código, CadastroProduto.[Código de Barras]," & _
                                      " CadastroProduto.Unidade, CadastroProduto.Descrição, CadastroProduto.Referência," & _
                                      " CadastroProduto.[Localização Física], CadastroProduto.Marca, CadastroProduto.Categoria," & _
                                      " CadastroProduto.[Estoque Mínimo], CadastroProduto.[Estoque Atual], CadastroProduto.[Data de Atualização]," & _
                                      " CadastroProduto.[Valor Custo], CadastroProduto.[Margem Avista (%)], CadastroProduto.[Valor Avista]," & _
                                      " CadastroProduto.[Margem Prazo (%)], CadastroProduto.[Valor Prazo], CadastroProduto.[Margem Atacado (%)]," & _
                                      " CadastroProduto.[Valor Atacado], CadastroProduto.Observações" & _
                                      " FROM CadastroProduto" & _
                                      " ORDER BY CadastroProduto." & Me.cboOrdenar & ";"

    Me.SubProdutos.Form.Requery

    End Sub


    Última edição por RAprendiz em 20/6/2014, 17:42, editado 1 vez(es)


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  Noobezinho 20/6/2014, 13:08

    Conseguiu é?  Twisted Evil 

    Parabéns !

    E falta outro tópico pra dar o retorno.
    São 3 ao todo né?  Ou tem mais  scratch


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  Alvaro Teixeira 20/6/2014, 15:30

    Olá RAprendiz, podes verificar as tuas mensagens privadas?
    Não recebi retorno.
    Obrigado.
    RAprendiz
    RAprendiz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 79
    Registrado : 08/06/2014

    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz 20/6/2014, 17:37

    Olá Ahteixeira,
    Ja verifiquei e não há mensagens tuas.


    .................................................................................
    Versão: Access 2013

    Nunca tenha certeza de nada, pois a sabedoria começa com a dúvida!

    Conteúdo patrocinado


    [Resolvido]Ajuda com código Empty Re: [Resolvido]Ajuda com código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:53