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]Erro na buca menor valor em base MySQL

    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/06/2013

    [Resolvido]Erro na buca menor valor em base MySQL Empty [Resolvido]Erro na buca menor valor em base MySQL

    Mensagem  Eloirp 12/6/2014, 15:06

    Não estou conseguindo fazer funcionar a busca no MySQL quando coloco a instrução MIN para localizar o menor valor, sendo que quando rodo na base local access funciona perfeitamente!
    Também se coloco a instrução SQL diretamente no servidor MySQL e executo traz o valor correto!

    Erro em tempo de execução '3265'
    o item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado


    Na base MySQL este campo está definido como DECIMAL(10,2)

    Sub Load_PVCR()
       strRS = "SELECT Min(Preco) FROM tbl_CrossReference_Preco WHERE Produto='" & Me.Codigo & "' AND Status='ATIVO' AND Preco>0"
       Call Cnn_Open
       Set rs = New ADODB.Recordset
       With rs
           Set .ActiveConnection = Cnn
           .Source = strRS
           .LockType = adLockOptimistic
           .CursorType = adOpenKeyset
           .Open
       End With
                   
       If Not rs.BOF Then
           Me.PVCR.Value = Replace(rs!Preco, ".", ",")
       End If
       
       Set rs = Nothing: Close
       Set Cnn = Nothing: Close
    End Sub
    Giovanny
    Giovanny
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/10/2011

    [Resolvido]Erro na buca menor valor em base MySQL Empty Resposta erro de busca MySql

    Mensagem  Giovanny 12/6/2014, 19:04

    Caro amigo,

    esse erro é devido ao nome do seu campo que está sendo setado pelo rs!.
    Você já verificou se o campo do seu recordset é rs!preco?

    Caso não consigo solucionar este pequeno detalhe entre você e o seu sql.
    Opte por outra abordagem que são muitas,creio que para um objetivo tão
    simples como esse não seria mais fácil utilizar um DFirst?

    VALORMINIMO = DMIN("NOMEDOCAMPO","NOMEDATABELA","CONDIÇÃO")

    caso opte pelo SELECT MIN(NOMEDOCAMPO) FROM NOMETABELA

    não é necessário utilizar o rs.bof
    pois ele irá retornar somente um registro ,não tendo registros a percorrer.

    espero que te ajude.

    vlw
    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/06/2013

    [Resolvido]Erro na buca menor valor em base MySQL Empty Re: [Resolvido]Erro na buca menor valor em base MySQL

    Mensagem  Eloirp 12/6/2014, 20:27

    Olá Giovanny,

    Primeiro, muito obrigado pela ajuda!
    Porém não sei se observou no título to tópico que estou acessando os dados de uma base MySQL e esta base está em servidor externo, logo estou trabalhando tudo desvinculado, assim acho que o DMin não funciona, certo? O que está rodando atualmente é com back-end e front-end e uso o Dmin, porém estou convertendo para base externa e por isso estão surgindo estas pequenas dúvidas!
    Qto ao nome do campo na base está correto sim...
    A sintaxe que vc passa do SQL é a mesma que estou utilizando, então não teria porque mudar! Acredito que deve ser alguma diferença por ser devido a mudança para MySQL e algum ajuste entre Access e MySQL! Antes de abrir o tópico eu pesquisei tanto no fórum quanto fora, mas nas pesquisas que fiz sempre cai na mesma sintaxe e se rodo ela diretamente na base dá certo!
    Giovanny
    Giovanny
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 20/10/2011

    [Resolvido]Erro na buca menor valor em base MySQL Empty Erro na busca menor valor em base MySQL

    Mensagem  Giovanny 13/6/2014, 12:23

    Bom dia ,caro amigo.

    sempre é um prazer poder ajudar.
    Neste caso te aconselho o seguinte,mudar o evento que executa a função para um botão no evento Ao Clicar,
    e mudando a busca da sua consulta para uma ficticia somente para dividirmos o problema e identifica-lo.
    mudando a busca mudará também o nome do campo que você vai mudar,tente colocar um campo que seja string
    para que façamos essa comparação e usando o break para ver se ele chegar a conectar no banco realmente e em que momento ele ocorre o erro.

    Aguardo resposta.

    Abraco
    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/06/2013

    [Resolvido]Erro na buca menor valor em base MySQL Empty Re: [Resolvido]Erro na buca menor valor em base MySQL

    Mensagem  Eloirp 13/6/2014, 14:42

    Novamente lhe agradeço Giovanny pelo empenho em me ajudar!

    Fiz uma pequena alteração na instrução SQL e deu certo!

    Era:
    strRS = "SELECT Min(Preco) FROM tbl_CrossReference_Preco WHERE Produto='" & Me.Codigo & "' AND Status='ATIVO' AND Preco>0"

    Ficou:
    strRS = "SELECT Preco FROM tbl_CrossReference_Preco WHERE Preco=(SELECT Min(Preco) FROM tbl_CrossReference_Preco WHERE Produto='" & Me.Codigo & "' AND Preco > 0 AND Status = 'ATIVO')"

    Sendo que o restante permaneceu da mesma forma que estava...
    Sub Load_PVCR()

       strRS = "SELECT Preco FROM tbl_CrossReference_Preco WHERE Preco=(SELECT Min(Preco) FROM tbl_CrossReference_Preco WHERE Produto='" & Me.Codigo & "' AND Preco > 0 AND Status = 'ATIVO')"
       Call Cnn_Open
       Set rs = New ADODB.Recordset
       With rs
           Set .ActiveConnection = Cnn
           .Source = strRS
           .LockType = adLockOptimistic
           .CursorType = adOpenKeyset
           .Open
       End With
                   
       If Not rs.BOF Then
           Me.PVCR.Value = Replace(rs!Preco, ".", ",")
       End If
       
       Set rs = Nothing: Close
       Set Cnn = Nothing: Close
    End Sub


    Mas também funciona assim:
    strRS = "SELECT Min(Preco) as PVCR FROM tbl_CrossReference_Preco WHERE Produto='" & Me.Codigo & "' AND Status='ATIVO' AND Preco>0"

    Neste caso substitui Me.PVCR.Value = Replace(rs!Preco, ".", ",") por Me.PVCR.Value = Replace(rs!PVCR, ".", ",")

    Conteúdo patrocinado


    [Resolvido]Erro na buca menor valor em base MySQL Empty Re: [Resolvido]Erro na buca menor valor em base MySQL

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 21:56