MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Ajuda com código

    Compartilhe
    avatar
    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!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 986
    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.
    avatar
    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!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 986
    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.
    avatar
    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!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 986
    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
    avatar
    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!
    avatar
    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!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 986
    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.
    avatar
    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!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 986
    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 ....
    avatar
    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!
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 986
    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.
    avatar
    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!
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4192
    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.
    avatar
    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: Qua 26 Jul 2017, 09:45