MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Ajuda com código

    Compartilhe

    RAprendiz
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Seg 16 Jun 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Ajuda com código

    Mensagem  good guy em Seg 16 Jun 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
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Ter 17 Jun 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Ajuda com código

    Mensagem  good guy em Ter 17 Jun 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
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Ter 17 Jun 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Ajuda com código

    Mensagem  good guy em Ter 17 Jun 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
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Ter 17 Jun 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
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Ter 17 Jun 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Ajuda com código

    Mensagem  good guy em Ter 17 Jun 2014, 20:52

    Olá RAprendiz,

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

    RAprendiz
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Qua 18 Jun 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Ajuda com código

    Mensagem  good guy em Qua 18 Jun 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
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Qua 18 Jun 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
    Developer
    Developer

    Respeito às Regras 100%

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

    Ajuda com código

    Mensagem  good guy em Qui 19 Jun 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
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Sex 20 Jun 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 Sex 20 Jun 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
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  Noobezinho em Sex 20 Jun 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


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  ahteixeira em Sex 20 Jun 2014, 15:30

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

    RAprendiz
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Ajuda com código

    Mensagem  RAprendiz em Sex 20 Jun 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!

      Data/hora atual: Sex 09 Dez 2016, 09:37